Java面向?qū)ο蟪绦蛟O(shè)計(jì)第6章-圖形用戶界面_第1頁(yè)
Java面向?qū)ο蟪绦蛟O(shè)計(jì)第6章-圖形用戶界面_第2頁(yè)
Java面向?qū)ο蟪绦蛟O(shè)計(jì)第6章-圖形用戶界面_第3頁(yè)
Java面向?qū)ο蟪绦蛟O(shè)計(jì)第6章-圖形用戶界面_第4頁(yè)
Java面向?qū)ο蟪绦蛟O(shè)計(jì)第6章-圖形用戶界面_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Java圖形用戶界面(GUI)主要內(nèi)容圖形用戶界面開發(fā)包:AWT 包及Swing包掌握創(chuàng)建GUI 程序的基本方法掌握使用布局管理器進(jìn)行界面布局的基本方法掌握 Swing包中常用組件的基本用法掌握J(rèn)ava事件處理機(jī)制Java中開發(fā)圖形用戶界面的資源界面元素:容器和組件java.awt包java.swing包布局:常用布局管理類:java.awt新增布局管理類:java.swing事件處理:常用事件處理類或接口:java.awt.event新增事件處理類或接口:Java.swing.eventJava GUI組件AWT(Abstract Window Toolkit):早期版本。包為:java.a

2、wt其優(yōu)點(diǎn)是:簡(jiǎn)單、系統(tǒng)開銷??;但是它開發(fā)出來(lái)的應(yīng)用程序移植性差,而且不如Windows自帶的程序看起來(lái)精美。Swing: Java1.2版本正式加入的新圖形用戶版本。包為:javax.swing優(yōu)點(diǎn)是:不包含任何與平臺(tái)有關(guān)的本地代碼,基于swing的應(yīng)用程序具有很好的可移植性;具有比AWT更為豐富的組件;組件的形式也可以多樣化;使用MVC體系結(jié)構(gòu)進(jìn)行設(shè)計(jì);AWT組件和swing組件的關(guān)系幾乎所有的AWT組件都有對(duì)應(yīng)的swing組件,swing組件名前多一個(gè)字母“J”。Swing對(duì)AWT組件進(jìn)行了修改,且增加了新的組件。本課程我們使用swing組件開發(fā)圖形用戶界面。使用swing開發(fā)GUI所需

3、的資源開發(fā)圖形用戶界面程序通常需導(dǎo)入:import javax.swing.*; import java.awt.*; import java.awt.event.*; Gui程序框架import javax.swing.*; /引入GUI包public class MyFirstGUI extends JFrame public MyFirstGUI()super(我的第一個(gè)窗口程序 ); /調(diào)用父類Jframe的構(gòu)造器方法public static void main(String args)MyFirstGUI w1=new MyFirstGUI();w1.setSize(300,150

4、); /設(shè)置窗口大小w1.setVisible(true); /顯示窗口向JFrame中添加組件步驟1.創(chuàng)建組件對(duì)象如:JLabel jL1=new JLabel(歡迎光臨);2.獲得添加的目標(biāo)容器Container w1Container=w1.getContentPane(); 3.將組件添加到容器中w1Container.add(jL1); 布局管理在容器中的所有組件的布局(位置和大?。┯刹季止芾砥鱽?lái)控制,在java中提供了許多布局管理器,我們介紹以下幾種布局方式.FlowLayoutBorderlayoutGridLayout手工布局設(shè)置布局管理器每個(gè)容器擁有自己默認(rèn)的布局管理器。Co

5、ntentPane的默認(rèn)布局是BorderLayout。如果不希望使用默認(rèn)布局,則可使用所有容器的父類Container的setLayout()方法改變。例如:JPanel pane=new JPanel(); pane.setLayout(new BorderLayout);組件布局方法順序布局(FlowLayout):將組件按從左至右,從上到下的順序逐個(gè)放置。邊界布局(BorderLayout),把容器分為5個(gè)區(qū):北區(qū)、南區(qū)、東區(qū)、西區(qū)、中區(qū)。組件可以指定自己放在那個(gè)區(qū),因?yàn)橹挥?個(gè)區(qū),所以最多容納5個(gè)組件。網(wǎng)格布局(GridLayout),把容器區(qū)域分成若干個(gè)網(wǎng)格,每個(gè)網(wǎng)格放置一個(gè)組件,

6、適合數(shù)量眾多的組件。在創(chuàng)建網(wǎng)格布局時(shí),可以給出網(wǎng)格的行數(shù)和列數(shù)。手工布局設(shè)置布局為手工布局如:w1Container.setLayout(null); 設(shè)置組件顯示的位置和大小如1:jL1.setBounds(10,20,100,20); 如2:jL2.setBounds(20,40,100,20); 布局中JPanel的使用JPanel是一個(gè)中間級(jí)容器組件,可以容納其它的組件。靈活使用JPanel,可以設(shè)計(jì)出較復(fù)雜的圖形用戶界面。事件處理import javax.swing.*; import java.awt.*;public class MyFirstEvent extends JFra

7、mepublic MyFirstEvent()super(事件處理機(jī)制); public static void main(String args)MyFirstEvent w1=new MyFirstEvent();Container w1Container=w1.getContentPane();w1Container.setLayout(null);JLabel jL1=new JLabel(歡迎訪問,請(qǐng)點(diǎn)擊下面的按鈕); jL1.setBounds(50,20,200,30); w1Container.add(jL1);JButton jB1=new JButton(被按下偶數(shù)次);j

8、B1.setBounds(60,60,150,30);w1Container.add(jB1);w1.setSize(300,150);w1.setVisible(true);事件處理中的4要素事件源:產(chǎn)生事件的組件事件事件監(jiān)聽器:負(fù)責(zé)監(jiān)聽事件的程序事件服務(wù)程序 :針對(duì)具體事件的處理代碼事件處理機(jī)制添加事件處理步驟:(1)為組件注冊(cè)事件監(jiān)聽器:如:addActionListener(this)(2)編寫事件監(jiān)聽器類,要求實(shí)現(xiàn)相關(guān)的事件監(jiān)聽器接口。并在事件監(jiān)聽器類中實(shí)現(xiàn)特定方法。(3)并在事件監(jiān)聽器類中實(shí)現(xiàn)特定方法。注:常用事件處理接口包含在java.awt.event包中,因此,程序必須引入該

9、包。事件服務(wù)類的建立事件服務(wù)類必須實(shí)心相應(yīng)的事件監(jiān)聽器接口或繼承適配器類。事件監(jiān)聽器接口 適配器Adapter類 WindowListener WindowAdapter MouseMotionLister MouseMotionAdapter MouseListener MouseAdapter KeyListener KeyAdapter FocusListenerFocusAdapter ActionListener ItemListenerAdjustmentListener常用組件的使用Font和Color 標(biāo)簽和按鈕 文本輸入框和密碼輸入框 單選按鈕和復(fù)選框 下拉菜單 菜單 對(duì)話框

10、 文件框 Font、Color、標(biāo)簽和按鈕應(yīng)用實(shí)例 實(shí)例:當(dāng)我們點(diǎn)擊“顏色變化”按鈕時(shí),“歡迎光臨”的顏色在紅與蘭色之間變換,當(dāng)點(diǎn)擊“推出”按鈕時(shí),退出應(yīng)用程序。 程序:MyButtonExample.java文本輸入框和密碼輸入框應(yīng)用實(shí)例實(shí)例:當(dāng)我們輸入正確的用戶名和密碼(“JAVA”和“1234”)時(shí),系統(tǒng)提示正確信息,否則提示錯(cuò)誤信息。 程序:MyFieldExample.java單選按鈕和復(fù)選框應(yīng)用實(shí)例實(shí)例:當(dāng)我們?cè)谖谋究蛑休斎霐?shù)值,并按回車鍵時(shí),系統(tǒng)能根據(jù)當(dāng)前所選擇的運(yùn)算符進(jìn)行運(yùn)算,并將結(jié)果以選擇的狀態(tài)進(jìn)行顯示。 程序:MyRadioButtonEvent.java下拉菜單應(yīng)用實(shí)例 實(shí)例:制作1個(gè)簡(jiǎn)單的省會(huì)查詢器。當(dāng)我們選擇不同的省份時(shí),能將該省份的省會(huì)給顯示出來(lái)。程序:MyItemEvent.java菜單應(yīng)用實(shí)例實(shí)例:完成一個(gè)“文件編輯”的基本界面。當(dāng)我們選擇不同的菜單時(shí),系統(tǒng)能顯示你所選擇的菜單,當(dāng)選擇“退出”時(shí),退出應(yīng)用程序 程序:MyMenuExample.java標(biāo)準(zhǔn)對(duì)話框應(yīng)用實(shí)例自定義對(duì)話框應(yīng)用實(shí)例實(shí)例:針對(duì)上例,我們做一個(gè)修改,當(dāng)我們進(jìn)入到

溫馨提示

  • 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ù)覽,若沒有圖紙預(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)論