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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

JAVA GUI,Object,Dimension,Font,FontMetrics,Color,Graphics,Component,Container,LayoutManager,Panel,Window,JComponent,Applet,Frame,JDialog,JApplet,JFrame,Dialog,*,1,包java.awt中的類,包javax.swing中的組件,JPanel,Swing GUI組件,組件 Jcomponent 抽象類 用戶界面 容器類 盛裝其他GUI組件 Jpanel不可見,可嵌套。可看作是畫布 GUI輔助類 用來描述GUI組件的屬性,例如圖形環(huán)境、顏色、字體及大小等。,布局管理器的屬性 Color類 Font類 Swing GUI組件的一般特性,java.awt.Component,-font:java.awt.Font -background:java.awt.Color -foreground:java.awt.Color -preferredSize:java.awt.Dimension -visible:boolean,+getWidth():int +getHeight():int +getX(): int +getY(): int,java.awt.Container,+add(comp:Component): Component +add(comp:Component,index:int): Component +remove(comp:Component): void +getLayout():LayoutManager +setLayout(l:LayoutManager):void +paintComponents(g: Graphics): void,javax.awt.Swing.JComponent,-toolTipText:String +border: javax.swing.border.Border,圖形,Graphics類,事件處理機制-委托事件處理,圖形界面程序 (一個類),監(jiān)聽器類 (含事件處理器),監(jiān)聽器對象 (含事件處理器),實例化,注冊,外 部 動 作,事件 對象,產(chǎn)生并傳遞事件對象,接收事件對象,激活事件處理器,實現(xiàn)預(yù)定功能,事件源 (例如一個按鈕),含有,事件處理實例:關(guān)閉窗口,圖形界面程序 (TestFrame),窗口監(jiān)聽器類 MyWindowListener (含關(guān)閉窗口 事件處理器),窗口監(jiān)聽器對象 (含關(guān)閉窗口 事件處理器),實例化,注冊,單 擊 關(guān) 閉 按 鈕,事件 對象 e,產(chǎn)生并傳遞窗口事件對象 WindowEvent e,接收事件對象e,激活事件處理器,實現(xiàn)關(guān)閉窗口功能。,事件源 窗口對象fr,含有,再論事件處理機制,事件、事件監(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ā)生。,事件、接口、適配器與事件處理方法對應(yīng)表,事件、接口、適配器與事件處理方法對應(yīng)表,內(nèi)部類(Inner Class),內(nèi)部類也稱為嵌套類(Nested Class),是指被定義于其他類體中的類,其他類則稱為內(nèi)部類的封裝類。 內(nèi)部類分為靜態(tài)內(nèi)部類和非靜態(tài)內(nèi)部類兩種。用static修飾符聲明的內(nèi)部類為靜態(tài)內(nèi)部類。,內(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)部類的特征(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)部類使用的限制更為嚴格。,import java.awt.*; import java.awt.event.*; public class Test8_4 extends Frame implements ActionListener static Test8_4 frm=new Test8_4(); static Button btn1=new Button(“Yellow“); 定義本圖形用戶界面要用的組件 static Button btn2=new Button(“Green“); static Button btn3=new Button(“Exit“); public static void main(String args) 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(“Action Event“); frm.setLayout(new FlowLayout(FlowLayout.CENTER); frm.setSize(200,150); frm.add(btn1); frm.add(btn2); frm.add(btn3); frm.setVisible(true); public void actionPerformed(ActionEvent e) /實現(xiàn)接口ActionListener的抽象方法 Button btn=(Button) e.getSource(); / 取得事件源 if(btn=btn1) / 如果是按下btn1按鈕 frm.

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論