Java GUI設(shè)計(jì)_第1頁(yè)
Java GUI設(shè)計(jì)_第2頁(yè)
Java GUI設(shè)計(jì)_第3頁(yè)
Java GUI設(shè)計(jì)_第4頁(yè)
Java GUI設(shè)計(jì)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、黑客防線Java培訓(xùn)系列教程課程八可視化程序設(shè)計(jì)(GUI)海嘯天鳴(Ansty)A推薦屏幕分辨率:1024768可視化程序設(shè)計(jì)是基于圖形用戶界面(GUI)和可視化組件的一種快速應(yīng)用開(kāi)發(fā)(RAD)方法;可視化程序設(shè)計(jì)可以根據(jù)用戶需求快速建立原型,驗(yàn)證并實(shí)現(xiàn)用戶需求;并通過(guò)所見(jiàn)即所得的開(kāi)發(fā)提高編程工作的效率。Java有一些優(yōu)秀的可視化編程工具提供了功能有限的可視化程序設(shè)計(jì)開(kāi)發(fā)環(huán)境,但目前Java程序設(shè)計(jì)無(wú)法完全依賴于可視化編程工具的支持,仍然有很多工作需要手工編程來(lái)完成。NetBeans IDE提供了一些工具,可幫助我們以可視化方式設(shè)計(jì)和生成Java窗體,簡(jiǎn)化圖形用戶界面的設(shè)計(jì)過(guò)程,這些工具包括窗

2、體編輯器、檢查器窗口、組件面板窗口、屬性窗口、連接向?qū)?。Eclipse同樣也有一個(gè)swt-designer插件方便我們進(jìn)行GUI設(shè)計(jì)窗體編輯器檢查器窗口組件面板窗口屬性窗口項(xiàng)目窗口Java里面用于GUI設(shè)計(jì)的包有兩個(gè),一個(gè)是java.AWT,另外一個(gè)就是javax.swing。大家都知道,不同的系統(tǒng)平臺(tái)在GUI方面提供的API是不同,而且顯示的效果也是不同的。然而java.awt這個(gè)包所提供的組件對(duì)程序運(yùn)行所在的平臺(tái)依賴性很高,用AWT組件編寫(xiě)的程序如果從windows平臺(tái)轉(zhuǎn)移到linux平臺(tái),所設(shè)計(jì)的GUI往往會(huì)走樣。所以我們?yōu)榱顺绦蛟诟鱾€(gè)不同系統(tǒng)平臺(tái)上面都顯示出同樣的GUI,就要大量的使用

3、javax.swing.*包提供的組件。Swing:是第二代GUI開(kāi)發(fā)工具,它建立在AWT之上,但用新版本的組件替代了舊版本的組件,它提供了許多新的組件和相關(guān)的API。常用的窗體容器1、JFrame類(頂層應(yīng)用程序窗口)JFrame類及其子類創(chuàng)建的對(duì)象是窗體(1)JFrame類及其子類創(chuàng)建的窗體是swing窗體(2)不可以把組件直接加到swing窗體中,應(yīng)該把組件加到內(nèi)容面板中(3)不能為swing窗體設(shè)置布局,而應(yīng)當(dāng)為內(nèi)容面板設(shè)置布局(4)swing窗體通過(guò)調(diào)用getContentPane()方法得到它的內(nèi)容面板JFrame的內(nèi)部結(jié)構(gòu) -JFrame(底層) | -JRoot | -JLay

4、eredPane | -菜單條 |-內(nèi)容窗格 | -透明窗格(頂層)Swing的組件不能直接添加到頂層容器(JFrame)中,它必須添加到一個(gè)與Swing頂層容器相關(guān)聯(lián)的內(nèi)容窗格上。2、JApplet類(1)不可以把組件直接添加到小程序容器中,也應(yīng)該添加到內(nèi)容面板中(2)不能為小程序設(shè)置布局(3)小程序容器通過(guò)調(diào)用getContenPane()方法得到內(nèi)容面板3、JDialog類(1)不可以把組件直接添加到對(duì)話框容器中,也應(yīng)該添加到內(nèi)容面板中(2)不能為對(duì)話框設(shè)置布局(3)對(duì)話框容器通過(guò)調(diào)用getContenPane()方法得到內(nèi)容面板4、JPanel面板:JPanel();JPanel(布局

5、對(duì)象)我們先開(kāi)始建立一個(gè)窗體吧import javax.swing.*;public class SimpleFrame01 extends JFramepublic SimpleFrame01 () /super(SimpleFrame01);setTitle(SimpleFrame01);/設(shè)置標(biāo)題setSize(300,200);/設(shè)置窗體為300*200setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/關(guān)閉窗口時(shí)退出public static void main(String args)SimpleFrame01 frame = new S

6、impleFrame01();frame.setVisible(true);對(duì)JFrame添加組件有很多種方式,不過(guò)都是往ContentPane里面添加?xùn)|西的1) 用getContentPane()方法獲得JFrame的內(nèi)容窗格,再對(duì)其加入組件import javax.swing.*;public class SimpleFrame02 extends JFramepublic SimpleFrame02 () super(SimpleFrame02);/setTitle(SimpleFrame02);/設(shè)置標(biāo)題setSize(300,200);/設(shè)置窗體為300*200getContentP

7、ane().add(new JLabel(SimpleFrame02);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/關(guān)閉窗口時(shí)退出public static void main(String args)SimpleFrame02 frame = new SimpleFrame02();frame.setVisible(true);2)建立一個(gè)JPanel之類的容器,把組件加到該容器中,用setContentPane方法設(shè)置內(nèi)容窗格import javax.swing.*;public class SimpleFrame03 extends J

8、Framepublic SimpleFrame03 () super(SimpleFrame03);/setTitle(SimpleFrame03);/設(shè)置標(biāo)題setSize(300,200);/設(shè)置窗體為300*200JPanel pane = new JPanel();pane.add(new JLabel(SimpleFrame03);setContentPane(pane);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/關(guān)閉窗口時(shí)退出public static void main(String args)SimpleFrame03 fr

9、ame = new SimpleFrame03();frame.setVisible(true);事件處理事件是由程序檢測(cè)到的行為和動(dòng)作。在一個(gè)應(yīng)用程序中,程序員通常無(wú)法預(yù)測(cè)用戶下一個(gè)將要執(zhí)行的動(dòng)作。為了解決這個(gè)問(wèn)題,我們可以編寫(xiě)代碼來(lái)處理感興趣的事情,而不是編寫(xiě)那些按照一定順序執(zhí)行的代碼。在Java程序中,我們不用知道事件是如何調(diào)用的,我們只關(guān)心如何編寫(xiě)事件處理代碼。Java事件處理模型一般包括以下兩個(gè)主要類型的事件:用戶事件 用戶事件是由用戶發(fā)出的行為。如:操作鼠標(biāo)、按下鍵盤(pán)系統(tǒng)事件系統(tǒng)事件是由操作系統(tǒng)發(fā)出的。如:定時(shí)器、相應(yīng)對(duì)應(yīng)事件。一個(gè)Java事件處理模型的具體步驟是:1、 創(chuàng)建事件監(jiān)

10、聽(tīng)器2、 注冊(cè)事件監(jiān)聽(tīng)器3、 創(chuàng)建事件對(duì)象4、 通知事件發(fā)生5、 執(zhí)行事件處理程序例子:import javax.swing.*;import java.awt.event.*;public class SimpleFrame04 extends JFrameJButton button;public SimpleFrame04 () super(SimpleFrame04);/setTitle(SimpleFrame04);/設(shè)置標(biāo)題setSize(300,200);/設(shè)置窗體為300*200button = new JButton(Click);getContentPane().add(button);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/關(guān)閉窗口時(shí)退出button.addActionListener(new ClickActionListener();/向組件注冊(cè)事件監(jiān)聽(tīng)器public static void main(String args)SimpleFrame04 frame = new SimpleFrame04();frame.setVisible(true);/創(chuàng)建事件監(jiān)聽(tīng)器private class Clic

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論