freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

java語言程序設計基礎教程(中)ppt(編輯修改稿)

2024-11-12 16:19 本頁面
 

【文章內容簡介】 } ? } ? class ButtonHandler implements ActionListener { ? // 實現接口 ActionListener才能做事件 ActionEvent的處理者 ? public void actionPerformed(ActionEvent e) ? // 系統(tǒng)產生的 ActionEvent事件對象被當作參數傳遞給該方法 ? { ? (Action occurred)。 ? // 本接口只有一個方法,因此事件發(fā)生時,系統(tǒng)會自動調用本方法,需要做的操作就把代碼寫在則個方法里。 ? } ? } ? 使用授權處理模型進行事件處理的一般方法歸納如下: ? 1.對于某種類型的事件 XXXEvent, 要想接收并處理這類事件,必須定義相應的事件監(jiān)聽器類,該類需要實現與該事件相對應的接口XXXListener; ? 2.事件源實例化以后,必須進行授權,注冊該類事件的監(jiān)聽器,使用addXXXListener(XXXListener ) 方法來注冊監(jiān)聽器。 ? ,所有事件都是由它派生出來的。 AWT的相關事件繼承于 ,這些 AWT事件分為兩大類:低級事件和高級事件。 ? 低級事件是指基于組件和容器的事件,當一個組件上發(fā)生事件,如:鼠標的進入,點擊,拖放等,或組件的窗口開關等,觸發(fā)了組件事件。高級事件是基于語義的事件,它可以不和特定的動作相關聯,而依賴于觸發(fā)此事件的類,如在 TextField中按 Enter鍵會觸發(fā)ActionEvent事件,滑動滾動條會觸發(fā)AdjustmentEvent事件,或是選中項目列表的某一條就會觸發(fā) ItemEvent事件。 1.低級事件 ? 組件事件( ComponentEvent):組件尺寸的變化,移動。 ? 容器事件( ContainerEvent):組件增加,移動。 ? 窗口事件( WindowEvent):關閉窗口,窗口閉合,圖標化。 ? 焦點事件( FocusEvent):焦點的獲得和丟失。 ? 鍵盤事件( KeyEvent):鍵按下、釋放。 ? 鼠標事件( MouseEvent):鼠標單擊,移動。 2.高級事件(語義事件) ? 動作事件( ActionEvent):按鈕按下,TextField中按 Enter鍵。 ? 調節(jié)事件( AdjustmentEvent):在滾動條上移動滑塊以調節(jié)數值。 ? 項目事件( ItemEvent):選中項目。 ? 文本事件( TextEvent):文本對象的內容發(fā)生改變。 ? 每類事件都有對應的事件監(jiān)聽器,監(jiān)聽器是接口,根據動作來定義方法。例如,與鍵盤事件KeyEvent相對應的接口是: ? public interface KeyListener extends EventListener { ? public void keyPressed(KeyEvent ev)。 ? public void keyReleased(KeyEvent ev)。 ? public void keyTyped(KeyEvent ev)。 ? } ? 本接口中有三個方法,根據這三個方法的方法名就能夠知道應該是什么時候調用哪個方法執(zhí)行了。當鍵盤剛按下去時,將調用keyPressed( )方法執(zhí)行,當鍵盤抬起來時,將調用 keyReleased( )方法執(zhí)行,當鍵盤敲擊一次時,將調用 keyTyped( )方法執(zhí)行。 ? 與窗口有關的事件接口: ? public interface WindowListener extends EventListener{ ? public void windowClosing(WindowEvent e)。 ? //把退出窗口的語句寫在本方法中 ? public void windowOpened(WindowEvent e)。 ? //窗口打開時調用 ? public void windowIconified(WindowEvent e)。 ? //窗口圖標化時調用 ? public void windowDeiconified(WindowEvent e)。 ? //窗口非圖標化時調用 ? public void windowClosed(WindowEvent e)。 ? //窗口關閉時調用 ? public void windowActivated(WindowEvent e)。 ? //窗口激活時調用 ? public void windowDeactivated(WindowEvent e)。 ? //窗口非激活時調用 ? } ? AWT的組件類中提供注冊和注銷監(jiān)聽器的方法: ? ◇ 注冊監(jiān)聽器: ? public void add (listener)。 ? ◇ 注銷監(jiān)聽器: ? public void remove (listener)。 AWT事件及其相應的監(jiān)聽器接口 ? Java語言類的層次非常分明,因而只支持單繼承,為了實現多重繼承的能力, Java用接口來實現,一個類可以實現多個接口,這種機制比多重繼承具有更簡單、靈活、更強的功能。在AWT中就經常用到聲明和實現多個接口。無論實現了幾個接口,接口中已定義的方法必須一一實現,如果對某事件不感興趣,可以不具體實現其方法,而用空的方法體來代替。但卻必須所有方法都要寫上。 事件適配器 ? Java語言為一些 Listener接口提供了適配器( Adapter)類。可以通過繼承事件所對應的Adapter類,重寫需要方法,無關方法不用實現。事件適配器為我們提供了一種簡單的實現監(jiān)聽器的手段,可以縮短程序代碼。但是,由于 Java的單一繼承機制,當需要多種監(jiān)聽器或此類已有父類時,就無法采用事件適配器了。 ? 以下幾個: ? ComponentAdapter( 組件適配器 ) ? ContainerAdapter( 容器適配器 ) ? FocusAdapter( 焦點適配器 ) ? KeyAdapter( 鍵盤適配器 ) ? MouseAdapter( 鼠標適配器 ) ? MouseMotionAdapter( 鼠標運動適配器 ) ? WindowAdapter( 窗口適配器 ) AWT組件庫 ? 本節(jié)從應用的角度進一步介紹 AWT的一些常用組件,目的是加深對 AWT的理解,掌握如何用各種組件構造圖形化用戶界面,學會控制組件的顏色和字體。 ? 按鈕是最常用的一個組件, Button類是專門用來建立按鈕的,其構造方法有 2個: ? Button()。 //使用這個構造方法創(chuàng)建按鈕,沒有名稱 ? Button(String s)。 //使用這個構造方法創(chuàng)建按鈕,按鈕的名稱是字符串 s ? 例如: ? Button b = new Button(Quit)。 ? 當按鈕被點擊后,會產生 ActionEvent事件,需 ActionListener接口進行監(jiān)聽和處理事件。ActionEvent的對象調用 getActionCommand()方法可以得到按鈕的標識名,缺省按鈕名為label。用 setActionCommand()可以為按鈕設置組件標識符。 【 例 613】 一個包含兩個按鈕組件的猜數字小游戲程序。 ? import .*。 ? import .*。 ? class WindowButton extends Frame implements ActionListener { ? int number。 ? Label 提示條 。 ? TextField 輸入框 。 ? Button buttonGetNumber, buttonEnter。 ? WindowButton(String s) { ? super(s)。 ? setLayout(new FlowLayout())。 ? buttonGetNumber = new Button(得到一個隨機數 )。 ? add(buttonGetNumber)。 ? 提示條 = new Label(輸入你的猜測: , )。 ? 提示條 .setBackground()。 ? 輸入框 = new TextField(0, 10)。 ? add(提示條 )。 ? add(輸入框 )。 ? buttonEnter = new Button(確定 )。 ? add(buttonEnter)。 ? (this)。 ? (this)。 ? setBounds(100, 100, 150, 150)。 ? setVisible(true)。 ? validate()。 ? } ? public void actionPerformed(ActionEvent e) { ? if (() == buttonGetNumber) { ? number = (int) (() * 100) + 1。 ? 提示條 .setText(輸入你的猜測: )。 ? } else if (() == buttonEnter) { ? int guess = 0。 ? try { ? guess = (輸入框 .getText())。 ? if (guess == number) { ? 提示條 .setText(猜對了! )。 ? } else if (guess number) { ? 提示條 .setText(猜大了! )。 ? 輸入框 .setText(null)。 ? } else if (guess number) { ? 提示條 .setText(猜小了! )。 ? 輸入框 .setText(null)。 ? } ? } catch (NumberFormatException event) { ? 提示條 .setText(請輸入數字字符 )。 ? } ? } ? } ? } ? public class ep6_13 { ? public static void main(String args[]) { ? WindowButton win = new WindowButton(窗口 )。 ? } ? } ? 程序編譯運行后的結果如下所示: ? TextField類是專門用來創(chuàng)建文本框的,即 TextField類創(chuàng)建的一個對象就是一個文本框。用戶可以在文本框輸入單行的文本。 ? 這個組件只能顯示一行,當回車鍵被按下時,會發(fā)生 ActionEvent事件,可以通過ActionListener中的 actionPerformed()方法對事件進行相應處理??梢允褂胹etEditable(boolean)方法設置為只讀屬性。 ? 單行文本輸入區(qū)構造方法如下: ? TextField tf1,tf2,tf3,tf4: ? tf1=new TextField()。 ? tf2=new TextField(,20)。 //顯示區(qū)域為 20列 ? tf3=new TextField(Hello!)。 //按文本區(qū)域大小顯示 ? tf4=new TextField(Hello!,30)。 //初始文本為Hello!, 顯示區(qū)域為 30列 ? TextArea可以顯示多行多列的文本。使用 setEditable(boolean)方法,可以將其設置為只讀的。在 TextArea中可以顯示水平或垂直的滾動條。 ? 要判斷文本是否輸入完畢,可以在 TextArea旁邊設置一個按鈕,通過按鈕點擊產生的ActionEvent對輸入的文本進行處理。 TextArea構造方法如下表 61所示: 構造方法 功能描述 Checkbox() 創(chuàng)建不含標簽的選擇框 Checkbox(String label) 創(chuàng)建含有標簽的選擇框 Checkbox(String label, boolean on) 創(chuàng)建含有標簽的選擇框,并可指定選取狀態(tài) Checkbox(String label, CheckboxGroup g, Boolean on) 創(chuàng)建含有標簽并可指定選取狀態(tài)和選擇框群組的選擇框 TextArea常用方法如下表 62所示: 方法 功能描述 String getLabel() 獲得此選擇框的標簽 boolean getState() 獲得此選擇框的選取狀態(tài) void setState(boolean state) 設置此選擇框的選取狀態(tài) Object[] getSelectedObjects() 獲得被選取的選擇框 CheckboxGr
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1