版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
JAVAGUIJAVAGUI1ObjectDimensionFontFontMetricsColorGraphicsComponentContainerLayoutManagerPanelWindowJComponentAppletFrameJDialogJAppletJFrameDialog*1包中的類包中的組件JPanelObjectDimensionFontFontMetrics2JAVA-GUI程序設(shè)計還用該層次結(jié)構(gòu)圖中所列的類3SwingGUI組件組件Jcomponent抽象類用戶界面容器類盛裝其他GUI組件Jpanel不可見,可嵌套??煽醋魇钱嫴糋UI輔助類用來描述GUI組件的屬性,例如圖形環(huán)境、顏色、字體及大小等。SwingGUI組件組件4布局管理器的屬性Color類Font類SwingGUI組件的一般特性布局管理器的屬性5j-visible:boolean+getWidth():int+getHeight():int+getX():int+getY():int+add(comp:Component):Component+add(comp:Component,index:int):Component+remove(comp:Component):void+getLayout():LayoutManager+setLayout(l:LayoutManager):void+paintComponents(g:Graphics):void-toolTipText:Stringj+getWidth():int+add(comp:Comp6圖形Graphics類圖形Graphics類7事件處理機(jī)制---委托事件處理圖形界面程序(一個類)監(jiān)聽器類(含事件處理器)監(jiān)聽器對象(含事件處理器)實例化注冊外部動作事件對象產(chǎn)生并傳遞事件對象接收事件對象,激活事件處理器,實現(xiàn)預(yù)定功能事件源(例如一個按鈕)含有事件處理機(jī)制---委托事件處理圖形界面程序監(jiān)聽器類監(jiān)聽器對象8事件處理實例:關(guān)閉窗口圖形界面程序(TestFrame)窗口監(jiān)聽器類MyWindowListener(含關(guān)閉窗口事件處理器)窗口監(jiān)聽器對象(含關(guān)閉窗口事件處理器)實例化注冊單擊關(guān)閉按鈕事件對象e產(chǎn)生并傳遞窗口事件對象WindowEvente接收事件對象e,激活事件處理器,實現(xiàn)關(guān)閉窗口功能。事件源窗口對象fr含有事件處理實例:關(guān)閉窗口圖形界面程序窗口監(jiān)聽器類窗口監(jiān)聽器對象9再論事件處理機(jī)制事件、事件監(jiān)聽器接口、事件監(jiān)聽器類:每一類事件有一個相應(yīng)的事件監(jiān)聽器接口,該接口定義了接收和處理事件的抽象方法。實現(xiàn)該接口的類,就是監(jiān)聽器類。其對象可作為監(jiān)聽器對象向相應(yīng)的組件注冊。事件的類名通常為:XxxEvent對應(yīng)的事件監(jiān)聽器接口名通常為:XxxListener一個監(jiān)聽器接口定義了一種以上的抽象事件處理方法(事件處理器)。事件監(jiān)聽器類實現(xiàn)事件監(jiān)聽器接口,其類名可以由我們自己取。事件監(jiān)聽器類需要我們自己編寫。一個組件可以注冊一個或多個監(jiān)聽器對象,事件對象只向已注冊的監(jiān)聽器對象報告事件的發(fā)生。再論事件處理機(jī)制事件、事件監(jiān)聽器接口、事件監(jiān)聽器類:10JAVA-GUI程序設(shè)計還用該層次結(jié)構(gòu)圖中所列的類11JAVA-GUI程序設(shè)計還用該層次結(jié)構(gòu)圖中所列的類12JAVA-GUI程序設(shè)計還用該層次結(jié)構(gòu)圖中所列的類13事件監(jiān)聽器接口
監(jiān)聽器適配器類事件處理方法ActionEvent
ActionListener
無actionPerformedAdjustmentEventAdjustmentListener
無adjustmentValueChangedComponentEvent
ComponentListener
ComponentAdapter
componentHidden
componentMoved
componentResized
componentShownContainerEvent
ContainerListener
ContainerAdaptercomponentAdded
componentRemoved
FocusEvent
FocusListener
FocusAdapter
focusGained
focusLostItemEvent
ItemListener
無itemStateChanged
事件、接口、適配器與事件處理方法對應(yīng)表事件監(jiān)聽器接口監(jiān)聽器適配器類事件處理方法ActionEve14事件監(jiān)聽器接口
監(jiān)聽器適配器類事件處理方法KeyEventKeyListener
KeyAdapterkeyPressed
keyReleased
keyTypedMouseEventMouseListener
MouseAdapter
mouseClicked
mouseEntered
mouseExited
mousePressed
mouseReleasedMouseMotionEventMouseMotionListenerMouseMotionAdaptermouseDragged
mouseMoved
TextEventTextListener
無textValueChangedWindowEventWindowListener
WindowAdapterwindowActivated
windowClosed
windowClosing
windowDeactivated
windowDeiconified
windowIconified
windowOpened事件、接口、適配器與事件處理方法對應(yīng)表事件監(jiān)聽器接口監(jiān)聽器適配器類事件處理方法KeyEventK15JAVA-GUI程序設(shè)計還用該層次結(jié)構(gòu)圖中所列的類16JAVA-GUI程序設(shè)計還用該層次結(jié)構(gòu)圖中所列的類17內(nèi)部類(InnerClass)內(nèi)部類也稱為嵌套類(NestedClass),是指被定義于其他類體中的類,其他類則稱為`內(nèi)部類的封裝類。內(nèi)部類分為靜態(tài)內(nèi)部類和非靜態(tài)內(nèi)部類兩種。用static修飾符聲明的內(nèi)部類為靜態(tài)內(nèi)部類。內(nèi)部類(InnerClass)內(nèi)部類也稱為嵌套類(Nest18內(nèi)部類的特征(1)①內(nèi)部類的類名不能與其封裝類的類名相同。②內(nèi)部類可以不加任何限制地訪問其封裝類的所有成員要素(包括private類型的成員、靜態(tài)成員及實例成員)。③非靜態(tài)內(nèi)部類不能在自己類體中定義static成員。④靜態(tài)內(nèi)部類可以定義自己的static成員,但不能直接訪問其封裝類的實例變量或?qū)嵗椒?,只能直接訪問其封裝類的靜態(tài)成員;但可以通過定義對象來引用其封裝類的實例成員。內(nèi)部類的特征(1)19內(nèi)部類的特征(2)⑤可以用abstract關(guān)鍵字將內(nèi)部類定義為抽象類,也可以用protected或private訪問修飾符修飾內(nèi)部類。⑹內(nèi)部類不能在其封裝類的靜態(tài)方法(如main方法)中使用。⑺內(nèi)部類不僅可以定義在其他類中,還可以定義在方法體中,甚至可以定義在語句塊中。例如在一個成員方法中定義一個內(nèi)部類,或者在switch語句塊中定義一個內(nèi)部類,或在一個循環(huán)結(jié)構(gòu)中定義一個內(nèi)部類,都是允許的。不過這樣的內(nèi)部類使用的限制更為嚴(yán)格。
內(nèi)部類的特征(2)⑤可以用abstract關(guān)鍵字將內(nèi)部類定20importjava.awt.*;importjava.awt.event.*;publicclassTest8_4extendsFrameimplementsActionListener{staticTest8_4frm=newTest8_4();staticButtonbtn1=newButton("Yellow");定義本圖形用戶界面要用的組件staticButtonbtn2=newButton("Green");staticButtonbtn3=newButton("Exit");publicstaticvoidmain(Stringargs[]){btn1.addActionListener(frm);//委托容器類對象frm監(jiān)聽btn1發(fā)出的事件
btn2.addActionListener(frm);//把事件監(jiān)聽器frm向btn2注冊
辦理委托,注冊監(jiān)聽btn3.addActionListener(frm);//把事件監(jiān)聽器frm向btn3注冊frm.setTitle("ActionEvent");frm.setLayout(newFlowLayout(FlowLayout.CENTER));frm.setSize(200,150);frm.add(btn1);frm.add(btn2);frm.add(btn3);frm.setVisible(true);}publicvoidactionPerformed(ActionEvente)//實現(xiàn)接口ActionListener的抽象方法{Buttonbtn=(Button)e.getSource();//取得事件源if(btn==btn1)//如果是按下btn1按鈕
frm.setBackground(Color.yellow);根據(jù)題目要求編寫語句,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 產(chǎn)學(xué)研合作旅游開發(fā)協(xié)議
- 個人股利收款收據(jù)
- 個人環(huán)保項目投資貸款協(xié)議
- 交通事故處理及賠償協(xié)議書樣本
- 產(chǎn)科安全醫(yī)療技術(shù)
- 建筑工地安全應(yīng)急預(yù)案
- 廣告設(shè)計與制作流程規(guī)范
- 市場調(diào)查分析報告撰寫預(yù)案
- VOC廢氣治理工程設(shè)計方案
- 公園綠化管護(hù)勞務(wù)承包合同范本(2篇)
- 盤扣架支架計算小程序EXCEL
- 自行車鞍座出廠檢驗報告(共2頁)
- 三福時尚百貨客戶滿意度調(diào)研報告(共20頁)
- 項目管理組織機(jī)構(gòu)框圖及說明
- 河南省建立社會保險關(guān)系申報表
- 征訂教輔材料告家長書2篇
- 竹鹽或成為將來食用鹽趨勢-竹鹽的六大功效
- (完整word版)實驗室設(shè)備管理系統(tǒng)詳解
- 工程竣工驗收監(jiān)理工作報告
- 水利工程監(jiān)理旁站值班記錄(共23頁)
- 彈簧壓力、拉力計算
評論
0/150
提交評論