版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
JAVAGUIJAVAGUI1ObjectDimensionFontFontMetricsColorGraphicsComponentContainerLayoutManagerPanelWindowJComponentAppletFrameJDialogJAppletJFrameDialog*1包中的類包中的組件JPanelObjectDimensionFontFontMetrics2JAVA-GUI程序設(shè)計(jì)還用該層次結(jié)構(gòu)圖中所列的類3SwingGUI組件組件Jcomponent抽象類用戶界面容器類盛裝其他GUI組件Jpanel不可見,可嵌套。可看作是畫布GUI輔助類用來描述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ī)制---委托事件處理圖形界面程序(一個(gè)類)監(jiān)聽器類(含事件處理器)監(jiān)聽器對(duì)象(含事件處理器)實(shí)例化注冊(cè)外部動(dòng)作事件對(duì)象產(chǎn)生并傳遞事件對(duì)象接收事件對(duì)象,激活事件處理器,實(shí)現(xiàn)預(yù)定功能事件源(例如一個(gè)按鈕)含有事件處理機(jī)制---委托事件處理圖形界面程序監(jiān)聽器類監(jiān)聽器對(duì)象8事件處理實(shí)例:關(guān)閉窗口圖形界面程序(TestFrame)窗口監(jiān)聽器類MyWindowListener(含關(guān)閉窗口事件處理器)窗口監(jiān)聽器對(duì)象(含關(guān)閉窗口事件處理器)實(shí)例化注冊(cè)單擊關(guān)閉按鈕事件對(duì)象e產(chǎn)生并傳遞窗口事件對(duì)象WindowEvente接收事件對(duì)象e,激活事件處理器,實(shí)現(xiàn)關(guān)閉窗口功能。事件源窗口對(duì)象fr含有事件處理實(shí)例:關(guān)閉窗口圖形界面程序窗口監(jiān)聽器類窗口監(jiān)聽器對(duì)象9再論事件處理機(jī)制事件、事件監(jiān)聽器接口、事件監(jiān)聽器類:每一類事件有一個(gè)相應(yīng)的事件監(jiān)聽器接口,該接口定義了接收和處理事件的抽象方法。實(shí)現(xiàn)該接口的類,就是監(jiān)聽器類。其對(duì)象可作為監(jiān)聽器對(duì)象向相應(yīng)的組件注冊(cè)。事件的類名通常為:XxxEvent對(duì)應(yīng)的事件監(jiān)聽器接口名通常為:XxxListener一個(gè)監(jiān)聽器接口定義了一種以上的抽象事件處理方法(事件處理器)。事件監(jiān)聽器類實(shí)現(xiàn)事件監(jiān)聽器接口,其類名可以由我們自己取。事件監(jiān)聽器類需要我們自己編寫。一個(gè)組件可以注冊(cè)一個(gè)或多個(gè)監(jiān)聽器對(duì)象,事件對(duì)象只向已注冊(cè)的監(jiān)聽器對(duì)象報(bào)告事件的發(fā)生。再論事件處理機(jī)制事件、事件監(jiān)聽器接口、事件監(jiān)聽器類:10JAVA-GUI程序設(shè)計(jì)還用該層次結(jié)構(gòu)圖中所列的類11JAVA-GUI程序設(shè)計(jì)還用該層次結(jié)構(gòu)圖中所列的類12JAVA-GUI程序設(shè)計(jì)還用該層次結(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
事件、接口、適配器與事件處理方法對(duì)應(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事件、接口、適配器與事件處理方法對(duì)應(yīng)表事件監(jiān)聽器接口監(jiān)聽器適配器類事件處理方法KeyEventK15JAVA-GUI程序設(shè)計(jì)還用該層次結(jié)構(gòu)圖中所列的類16JAVA-GUI程序設(shè)計(jì)還用該層次結(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)成員及實(shí)例成員)。③非靜態(tài)內(nèi)部類不能在自己類體中定義static成員。④靜態(tài)內(nèi)部類可以定義自己的static成員,但不能直接訪問其封裝類的實(shí)例變量或?qū)嵗椒ǎ荒苤苯釉L問其封裝類的靜態(tài)成員;但可以通過定義對(duì)象來引用其封裝類的實(shí)例成員。內(nèi)部類的特征(1)19內(nèi)部類的特征(2)⑤可以用abstract關(guān)鍵字將內(nèi)部類定義為抽象類,也可以用protected或private訪問修飾符修飾內(nèi)部類。⑹內(nèi)部類不能在其封裝類的靜態(tài)方法(如main方法)中使用。⑺內(nèi)部類不僅可以定義在其他類中,還可以定義在方法體中,甚至可以定義在語句塊中。例如在一個(gè)成員方法中定義一個(gè)內(nèi)部類,或者在switch語句塊中定義一個(gè)內(nèi)部類,或在一個(gè)循環(huán)結(jié)構(gòu)中定義一個(gè)內(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);//委托容器類對(duì)象frm監(jiān)聽btn1發(fā)出的事件
btn2.addActionListener(frm);//把事件監(jiān)聽器frm向btn2注冊(cè)
辦理委托,注冊(cè)監(jiān)聽btn3.addActionListener(frm);//把事件監(jiān)聽器frm向btn3注冊(cè)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)//實(shí)現(xiàn)接口ActionListener的抽象方法{Buttonbtn=(Button)e.getSource();//取得事件源if(btn==btn1)//如果是按下btn1按鈕
frm.setBackground(Color.yellow);根據(jù)題目要求編寫語句,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村農(nóng)村環(huán)保個(gè)人承包施工協(xié)議
- 建筑規(guī)劃二建專業(yè)人才聘用合同
- 飲料瓶制造地磅租賃協(xié)議
- 教育行業(yè)貨車租賃合同樣本
- 人力資源派遣合同管理指南
- 船舶電力系統(tǒng)維修服務(wù)協(xié)議
- 員工解雇程序規(guī)范化指南
- 聘用合同模板
- 養(yǎng)殖場(chǎng)養(yǎng)殖產(chǎn)品廣告宣傳合同
- 寵物項(xiàng)目部護(hù)理員聘用合同
- 家庭醫(yī)生行業(yè)分析報(bào)告
- 膠原蛋白競(jìng)爭(zhēng)格局分析
- 口腔癌早期診斷與治療
- 2023通勤車輛危險(xiǎn)源評(píng)估標(biāo)準(zhǔn)
- 幼兒園中班科學(xué)《植物過冬有辦法》
- 辦理行政案件程序規(guī)定第七章 調(diào)查取證模板
- 團(tuán)體輔導(dǎo)準(zhǔn)備篇:結(jié)構(gòu)式團(tuán)體練習(xí)及其應(yīng)用
- 大華硬盤錄像機(jī)操作說明
- 結(jié)婚函調(diào)報(bào)告表(帶參考)
- 單位車輛領(lǐng)取免檢標(biāo)志委托書范本
- 供銷社建設(shè)項(xiàng)目可行性研究報(bào)告
評(píng)論
0/150
提交評(píng)論