JAVA-GUI程序設(shè)計(jì)還用該層次結(jié)構(gòu)圖中所列的類_第1頁
JAVA-GUI程序設(shè)計(jì)還用該層次結(jié)構(gòu)圖中所列的類_第2頁
JAVA-GUI程序設(shè)計(jì)還用該層次結(jié)構(gòu)圖中所列的類_第3頁
JAVA-GUI程序設(shè)計(jì)還用該層次結(jié)構(gòu)圖中所列的類_第4頁
JAVA-GUI程序設(shè)計(jì)還用該層次結(jié)構(gòu)圖中所列的類_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論