圖形界面設(shè)計AWTppt課件_第1頁
圖形界面設(shè)計AWTppt課件_第2頁
圖形界面設(shè)計AWTppt課件_第3頁
圖形界面設(shè)計AWTppt課件_第4頁
圖形界面設(shè)計AWTppt課件_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、職業(yè)教育高端品牌第一章第一章圖形界面設(shè)計圖形界面設(shè)計AWTAWT 職業(yè)教育高端品牌AWT包簡介包簡介Frame類及其主要方法類及其主要方法六個常用控件:六個常用控件:Button、Label、TextField、List、Choice、Panel窗體規(guī)劃窗體規(guī)劃(FlowLayout、BorderLayout、GridBagLayout等等)事件按鈕事件、窗體事件、鼠標(biāo)事件事件按鈕事件、窗體事件、鼠標(biāo)事件職業(yè)教育高端品牌體驗工程體驗工程 編寫一個編寫一個QQ用戶注冊窗體,當(dāng)用戶在程序窗體中輸用戶注冊窗體,當(dāng)用戶在程序窗體中輸入信息后,點擊入信息后,點擊“確定按鈕,把用戶的提交信息寫入到確定按鈕

2、,把用戶的提交信息寫入到一個文本文件中,實現(xiàn)類似一個文本文件中,實現(xiàn)類似QQ注冊的功能。注冊的功能。程序的運(yùn)轉(zhuǎn)過程如下:程序的運(yùn)轉(zhuǎn)過程如下: 1程序啟動后,出現(xiàn)程序啟動后,出現(xiàn) “QQ注冊窗體界面,填寫完好注冊窗體界面,填寫完好的信息,如下圖:的信息,如下圖:職業(yè)教育高端品牌2點擊點擊“確定按鈕,即可把注冊信息寫入到同一級目錄確定按鈕,即可把注冊信息寫入到同一級目錄下的下的regInfor.txt文件中,同時控制臺上會顯示文件中,同時控制臺上會顯示“注冊勝利注冊勝利.和用戶的注冊信息。如下圖:和用戶的注冊信息。如下圖: 3假設(shè)注冊時有任何一項為空,那么控制臺會提示:假設(shè)注冊時有任何一項為空,那

3、么控制臺會提示:“注冊信息失注冊信息失?。赫?zhí)顚懲旰玫男畔。赫執(zhí)顚懲旰玫男畔?,程序運(yùn)轉(zhuǎn)結(jié)果如下圖:,程序運(yùn)轉(zhuǎn)結(jié)果如下圖: 4假設(shè)點擊圖假設(shè)點擊圖1-1中的中的“取消按鈕,將退出該程序。取消按鈕,將退出該程序。職業(yè)教育高端品牌圖形界面設(shè)計簡介圖形界面設(shè)計簡介 AWT簡介簡介AWT(Abstract Window Toolkit-籠統(tǒng)窗口工具箱籠統(tǒng)窗口工具箱)是是Sun公司自公司自JAVA1.0開場就提供的一個用于根本開場就提供的一個用于根本GUI編程的類庫,編程的類庫,AWT庫包含了庫包含了多種根本的界面控件類,它可以使我們輕松地創(chuàng)建一個窗口,并且在多種根本的界面控件類,它可以使我們輕松地創(chuàng)

4、建一個窗口,并且在其中添加按鈕、文本框、列表等控件,下面就為大家引見其中添加按鈕、文本框、列表等控件,下面就為大家引見AWT庫的根庫的根本知識。本知識。 AWT主要是由以下三個部分組成:主要是由以下三個部分組成:組件組件(Components)容器容器(Containers)規(guī)劃管理器規(guī)劃管理器(Layouts)職業(yè)教育高端品牌窗體框架窗體框架Frame類類 在在JAVA中,頂層窗口中,頂層窗口(沒有包含在另一個窗口中的窗沒有包含在另一個窗口中的窗口口)我們習(xí)慣上稱它為框架,它是一個由最大化按鈕、最我們習(xí)慣上稱它為框架,它是一個由最大化按鈕、最小化按鈕、封鎖按鈕和框架稱號所組成的一個框架運(yùn)轉(zhuǎn)界

5、小化按鈕、封鎖按鈕和框架稱號所組成的一個框架運(yùn)轉(zhuǎn)界面。在面。在AWT庫中有庫中有Frame類與之相對應(yīng)。類與之相對應(yīng)。在在JAVA圖形編程中,框架是最高層的,它是一個容圖形編程中,框架是最高層的,它是一個容器,一切的組件如按鈕、文本框等都包含在這個容器中。器,一切的組件如按鈕、文本框等都包含在這個容器中。 職業(yè)教育高端品牌Frame類的創(chuàng)建及主要方法類的創(chuàng)建及主要方法 我們先編寫一個程序,顯示一個簡單的框架,使大家我們先編寫一個程序,顯示一個簡單的框架,使大家對框架能有一個比較直觀的了解。對框架能有一個比較直觀的了解。 import java.awt.Frame;public class Fr

6、ameApppublic static void main(String args)Frame frame=new Frame();frame.setSize(180,160);frame.show();職業(yè)教育高端品牌我們先來分析一下上面的例子:我們先來分析一下上面的例子:首先,為了可以運(yùn)用首先,為了可以運(yùn)用AWT中的中的Frame類,我們必需導(dǎo)類,我們必需導(dǎo)入名為入名為java.awt.Frame的包,然后在主函數(shù)中運(yùn)用的包,然后在主函數(shù)中運(yùn)用Frame類類來實例化一個對象,這樣一個空的框架就創(chuàng)建好了,之后來實例化一個對象,這樣一個空的框架就創(chuàng)建好了,之后我們用框架對象的我們用框架對象的s

7、etSize()方法設(shè)置該框架的長和寬,然而方法設(shè)置該框架的長和寬,然而這樣還不夠,由于框架創(chuàng)建時并不是可見的,我們還要調(diào)這樣還不夠,由于框架創(chuàng)建時并不是可見的,我們還要調(diào)用框架對象的用框架對象的show()方法,使之顯示在屏幕上。這樣當(dāng)我方法,使之顯示在屏幕上。這樣當(dāng)我們運(yùn)轉(zhuǎn)這段程序后,屏幕上就會出現(xiàn)一個空白的框架了。們運(yùn)轉(zhuǎn)這段程序后,屏幕上就會出現(xiàn)一個空白的框架了。上面的程序我們用到了上面的程序我們用到了Frame類的幾個常用的方法。類的幾個常用的方法。Frame類還有很多其它的方法,如下所示:類還有很多其它的方法,如下所示: 職業(yè)教育高端品牌Frame類的幾個常用的方法類的幾個常用的方法

8、 setBackground(Color c)設(shè)置框架的背風(fēng)光。設(shè)置框架的背風(fēng)光。 setLocation(int a,int b)設(shè)定框架出如今屏幕上的位置。設(shè)定框架出如今屏幕上的位置。 setAlwaysOnTop(boolean b)決議框架能否顯示在最上層。決議框架能否顯示在最上層。 setName(String str)設(shè)置框架的名字。設(shè)置框架的名字。 String getName()獲取框架的名字。獲取框架的名字。 setTitle(String str) 改動框架的標(biāo)題。改動框架的標(biāo)題。 add(Component c) 添加組件到框架添加組件到框架Frame中。中。 setIc

9、onImage(Image i) 設(shè)置框架的圖標(biāo)。設(shè)置框架的圖標(biāo)。 setResizable(boolean b)決議框架的大小能否可以改動。決議框架的大小能否可以改動。 hide() 隱藏框架使隱藏框架使Frame不可見。不可見。職業(yè)教育高端品牌控件類控件類 按鈕按鈕Button按鈕控件按鈕控件Button組件的運(yùn)用是最簡單的,只需求實例化組件的運(yùn)用是最簡單的,只需求實例化Button類,并指類,并指定在按鈕上出現(xiàn)的標(biāo)簽就行了假設(shè)不想要標(biāo)簽,亦可運(yùn)用默許標(biāo)簽,但這定在按鈕上出現(xiàn)的標(biāo)簽就行了假設(shè)不想要標(biāo)簽,亦可運(yùn)用默許標(biāo)簽,但這種情況極少出現(xiàn)。種情況極少出現(xiàn)。 構(gòu)造方法:構(gòu)造方法:Button

10、() 創(chuàng)建一個按鈕,按鈕上的標(biāo)簽沒有任何內(nèi)容;創(chuàng)建一個按鈕,按鈕上的標(biāo)簽沒有任何內(nèi)容; Button(String label) 創(chuàng)建一個按鈕,自定義按鈕標(biāo)簽上的內(nèi)容。創(chuàng)建一個按鈕,自定義按鈕標(biāo)簽上的內(nèi)容。如:如:Botton button=new Button(“ 按鈕按鈕); 常用方法:常用方法:setBackground(Color color) 設(shè)置按鈕的背風(fēng)光;設(shè)置按鈕的背風(fēng)光;setEnable(boolean b) 設(shè)置按鈕能否可用;設(shè)置按鈕能否可用; setFont(Font f) 設(shè)置按鈕標(biāo)簽的字體;設(shè)置按鈕標(biāo)簽的字體; setForeground(Color color)

11、設(shè)置按鈕的前風(fēng)光;設(shè)置按鈕的前風(fēng)光; setLabel(String text) 設(shè)置按鈕標(biāo)簽的內(nèi)容;設(shè)置按鈕標(biāo)簽的內(nèi)容; setVisible(boolean b) 設(shè)置按鈕能否可見。設(shè)置按鈕能否可見。職業(yè)教育高端品牌按鈕的例子按鈕的例子import java.awt.Frame;import java.awt.Button;import java.awt.FlowLayout;public class ButtonApp extends FrameButton button1;Button button2=new Button(Second);public ButtonApp()super

12、(按鈕例如按鈕例如);this.setLayout(new FlowLayout();button1=new Button();button1.setLabel(First);this.setSize(180,160);this.add(button1);this.add(button2);public static void main(String args)ButtonApp buttonApp=new ButtonApp();buttonApp.show(); 職業(yè)教育高端品牌標(biāo)簽標(biāo)簽Label 標(biāo)簽控件標(biāo)簽控件Label也是一個很簡單的控件,用于在也是一個很簡單的控件,用于在Frame

13、中顯示一中顯示一個文本標(biāo)簽,它的用法和個文本標(biāo)簽,它的用法和Button類似。類似。 構(gòu)造方法:構(gòu)造方法:Label() 創(chuàng)建一個標(biāo)簽,標(biāo)簽上沒有任何文字。創(chuàng)建一個標(biāo)簽,標(biāo)簽上沒有任何文字。 Label(String text) 創(chuàng)建一個標(biāo)簽,并且自定義標(biāo)簽上的文字。創(chuàng)建一個標(biāo)簽,并且自定義標(biāo)簽上的文字。 Label(String text,int alignment) 創(chuàng)建一個標(biāo)簽,并且自定義標(biāo)創(chuàng)建一個標(biāo)簽,并且自定義標(biāo)簽上的文字及對齊方向。簽上的文字及對齊方向。常用方法:常用方法:setAlignment(int align)設(shè)置標(biāo)簽文本的對齊方式設(shè)置標(biāo)簽文本的對齊方式 setBackgr

14、ound(Color color) 設(shè)置標(biāo)簽的背風(fēng)光設(shè)置標(biāo)簽的背風(fēng)光 setEnable(boolean b) 設(shè)置標(biāo)簽?zāi)芊窨捎迷O(shè)置標(biāo)簽?zāi)芊窨捎?setFont(Font f) 設(shè)置標(biāo)簽文本的字體設(shè)置標(biāo)簽文本的字體 setForeground(Color color)設(shè)置標(biāo)簽的前風(fēng)光設(shè)置標(biāo)簽的前風(fēng)光 setText(String text) 設(shè)置標(biāo)簽的內(nèi)容設(shè)置標(biāo)簽的內(nèi)容 setVisible(boolean b) 設(shè)置標(biāo)簽?zāi)芊窨梢娫O(shè)置標(biāo)簽?zāi)芊窨梢娐殬I(yè)教育高端品牌文本域文本域TextField 文本域控件文本域控件TextField用來創(chuàng)建一個文本域,允許編輯單行文本。用來創(chuàng)建一個文本域,允許編

15、輯單行文本。 構(gòu)造方法:構(gòu)造方法:TextField()創(chuàng)建一個文本域創(chuàng)建一個文本域 TextField(String text) 創(chuàng)建一個文本域,并且初始化其內(nèi)容創(chuàng)建一個文本域,并且初始化其內(nèi)容 TextField(String text,int columns) 創(chuàng)建一個文本域,有初始內(nèi)創(chuàng)建一個文本域,有初始內(nèi)容,并且可設(shè)置列數(shù)容,并且可設(shè)置列數(shù) TextField(int columns) 創(chuàng)建一個文本域,沒有初始內(nèi)創(chuàng)建一個文本域,沒有初始內(nèi)容,可設(shè)置列數(shù)容,可設(shè)置列數(shù)常用方法:常用方法:setBackground(Color color) 設(shè)置標(biāo)簽的背風(fēng)光。設(shè)置標(biāo)簽的背風(fēng)光。 setC

16、olumns(int columns) 設(shè)置文本域的列數(shù)。設(shè)置文本域的列數(shù)。 setEditable(boolean b) 設(shè)置文本域可否編輯。設(shè)置文本域可否編輯。 setEnable(boolean b) 設(shè)置文本域能否可用。設(shè)置文本域能否可用。 setFont(Font f) 設(shè)置文本域文字的字體。設(shè)置文本域文字的字體。 setForeground(Color color) 設(shè)置文本域的前風(fēng)光。設(shè)置文本域的前風(fēng)光。 setText(String text) 設(shè)置文本域的文本內(nèi)容。設(shè)置文本域的文本內(nèi)容。 setVisible(boolean b) 設(shè)置文本域能否可見。設(shè)置文本域能否可見。職業(yè)

17、教育高端品牌列表框列表框List列表框控件列表框控件List用來在用來在Frame框架中顯示一個列表框??蚣苤酗@示一個列表框。構(gòu)造方法:構(gòu)造方法: List()創(chuàng)建一個空列表框創(chuàng)建一個空列表框 List(int rows) 創(chuàng)建一個列表框,并指定行數(shù)創(chuàng)建一個列表框,并指定行數(shù) List(int rows,boolean multipleMode) 創(chuàng)建一個列表框,指定行數(shù),創(chuàng)建一個列表框,指定行數(shù),并指定能否運(yùn)用多行選擇方式并指定能否運(yùn)用多行選擇方式常用方法:常用方法:add(String item) 為列表框追加工程為列表框追加工程 add(String item,int index) 在列

18、表框的在列表框的index位置添加工程位置添加工程 addItem(String item) 同同add(String item) addItem(String item,int index) 同同add(String item,int index) clear() 去除列表框的一切工程去除列表框的一切工程 int countItems() 前往前往int值,即前往列表框的工程總數(shù)值,即前往列表框的工程總數(shù) delItem(int index) 刪除在列表框刪除在列表框index位置的工程位置的工程 delItems(int start,int end) 刪除從列表框的刪除從列表框的start

19、位置開場到位置開場到end位置的一切工程位置的一切工程 String getSelectedItem() 前往前往String值,前往一個選中的工程值,前往一個選中的工程 String getSelectedItems() 前往前往String 數(shù)組,前往一切被選中的工程數(shù)組,前往一切被選中的工程 removeAll() 去除列表框的一切工程去除列表框的一切工程 select(int index) 選中列表框選中列表框index位置上的工程位置上的工程 setMultipleMode(boolean b) 設(shè)置能否采用多行選擇方式設(shè)置能否采用多行選擇方式職業(yè)教育高端品牌選擇框選擇框Choice

20、 選擇框控件選擇框控件Choice用來在用來在Frame框架中顯示一個選擇框??蚣苤酗@示一個選擇框。 構(gòu)造方法:構(gòu)造方法:Choice() 創(chuàng)建一個選擇框創(chuàng)建一個選擇框常用方法:常用方法:addItem(String item) 為選擇框添加一個工程為選擇框添加一個工程 String getItem(int index) 前往前往String值,前往選擇框值,前往選擇框index位置的工程位置的工程的文本標(biāo)簽的文本標(biāo)簽 int getItemCount() 前往前往int值,前往選擇框擁有的工程總數(shù)值,前往選擇框擁有的工程總數(shù) String getSelectedItem() 前往前往Stri

21、ng值,前往已選中的工程值,前往已選中的工程 insert(String item,int index) 在在index位置上插入文本標(biāo)簽為位置上插入文本標(biāo)簽為item的工程的工程 remove(int index) 刪除刪除index位置上的工程位置上的工程 removeAll() 刪除一切工程刪除一切工程 select(int index) 選中選中index位置上的工程位置上的工程職業(yè)教育高端品牌面板面板Panel 面板控件面板控件Panel是是JAVA中常用到的容器之一,中常用到的容器之一,Panel可以讓組件參可以讓組件參與其中,還可以設(shè)置與其中,還可以設(shè)置Panel本人的規(guī)劃管理器

22、,再由這個管理器控制本人的規(guī)劃管理器,再由這個管理器控制Panel中各個組件的位置及大小。有了這種特性,我們就可以經(jīng)過在簡中各個組件的位置及大小。有了這種特性,我們就可以經(jīng)過在簡單規(guī)劃中參與單規(guī)劃中參與Panel的方法,發(fā)明出更為復(fù)雜的規(guī)劃。所以適當(dāng)?shù)睦玫姆椒?,發(fā)明出更為復(fù)雜的規(guī)劃。所以適當(dāng)?shù)睦肞anel可以使版面設(shè)計更為簡單??梢允拱婷嬖O(shè)計更為簡單。構(gòu)造方法:構(gòu)造方法:Panel() 建立一個建立一個Panel,默許規(guī)劃是,默許規(guī)劃是FlowLayout Panel(LayoutManager layout) 建立一個建立一個Panel,并且自定義規(guī)劃管理器,并且自定義規(guī)劃管理器常用方法

23、:常用方法:add() 為面板添加其它控件,如為面板添加其它控件,如Button,Label等等 setLayout(LayoutManager mgr) 設(shè)置面板中組件的版面設(shè)置面板中組件的版面職業(yè)教育高端品牌窗體規(guī)劃窗體規(guī)劃 為什么要運(yùn)用規(guī)劃管理為什么要運(yùn)用規(guī)劃管理 在最初接觸在最初接觸JAVA時,大家就應(yīng)該了解到時,大家就應(yīng)該了解到JAVA言語是跨平臺的言言語是跨平臺的言語,而不同的平臺對圖形界面的管理也是不盡一樣的,所以假設(shè)我們語,而不同的平臺對圖形界面的管理也是不盡一樣的,所以假設(shè)我們采用絕對定位的方法管理采用絕對定位的方法管理JAVA圖形界面的規(guī)劃,那么這個界面就會圖形界面的規(guī)劃,

24、那么這個界面就會在某些環(huán)境下變得支離破碎。在某些環(huán)境下變得支離破碎。JAVA的開發(fā)人員當(dāng)然會思索到這個問的開發(fā)人員當(dāng)然會思索到這個問題,他們提出的處理方案就是預(yù)先定義假設(shè)干種規(guī)劃,再依托這些根題,他們提出的處理方案就是預(yù)先定義假設(shè)干種規(guī)劃,再依托這些根本規(guī)劃的組合,發(fā)明出更為復(fù)雜的規(guī)劃方式。這樣,我們開發(fā)的運(yùn)用本規(guī)劃的組合,發(fā)明出更為復(fù)雜的規(guī)劃方式。這樣,我們開發(fā)的運(yùn)用程序的版面就不會由于運(yùn)用在不同的操作平臺下而變的混亂。這就是程序的版面就不會由于運(yùn)用在不同的操作平臺下而變的混亂。這就是我們要講的規(guī)劃管理。我們要講的規(guī)劃管理。職業(yè)教育高端品牌三種常用的規(guī)劃三種常用的規(guī)劃 FlowLayout規(guī)

25、劃規(guī)劃GridLayout規(guī)劃規(guī)劃BorderLayout規(guī)劃規(guī)劃流水規(guī)劃流水規(guī)劃網(wǎng)格規(guī)劃網(wǎng)格規(guī)劃邊框規(guī)劃邊框規(guī)劃職業(yè)教育高端品牌FlowLayout規(guī)劃規(guī)劃 FlowLayout規(guī)劃是一個相當(dāng)簡單的陳列方法,形如其名規(guī)劃是一個相當(dāng)簡單的陳列方法,形如其名FlowLayout就好像流水普通,將參與其中的組件一個接著一個從左往就好像流水普通,將參與其中的組件一個接著一個從左往右依次陳列下去,假設(shè)組件個數(shù)太多,多到無法只用一行顯示時,右依次陳列下去,假設(shè)組件個數(shù)太多,多到無法只用一行顯示時,F(xiàn)lowLayout規(guī)劃管理器會自動將組件向下一行陳列。要運(yùn)用規(guī)劃管理器會自動將組件向下一行陳列。要運(yùn)用Fl

26、owLayout這種規(guī)劃,只需在容器中設(shè)置運(yùn)用這種規(guī)劃,只需在容器中設(shè)置運(yùn)用FlowLayout這種版面這種版面管理器即可。管理器即可。 構(gòu)造方法:構(gòu)造方法: FlowLayout() 建立一個新的建立一個新的FlowLayout,此,此FlowLayout默以為居中對齊,而默以為居中對齊,而且組件彼此之間有且組件彼此之間有5單位的程度與垂直間距。單位的程度與垂直間距。 FlowLayout(int align) 建立一個新的建立一個新的FlowLayout,此,此FlowLayout可設(shè)置陳列方式,而可設(shè)置陳列方式,而且組件彼此之間有且組件彼此之間有5單位的程度與垂直間距。單位的程度與垂直間

27、距。 FlowLayout(int align,int hgap,int vgap) 建立一個新的建立一個新的FlowLayout,此,此FlowLayout可設(shè)置陳列方式與組可設(shè)置陳列方式與組件間距。件間距。職業(yè)教育高端品牌FlowLayout類的后兩個構(gòu)造方法均有參數(shù),其中參數(shù)類的后兩個構(gòu)造方法均有參數(shù),其中參數(shù)align可以設(shè)定可以設(shè)定FlowLayout規(guī)劃中的組件靠什么方向陳列。規(guī)劃中的組件靠什么方向陳列。 FlowLayout共有五種陳列方式共有五種陳列方式CENTER(默許值默許值)LEFTRIGHTLEADINGTRAILING職業(yè)教育高端品牌GridLayout規(guī)劃規(guī)劃 Gr

28、idLayout比比FlowLayout多了行和列的設(shè)置,也就是說他要先多了行和列的設(shè)置,也就是說他要先設(shè)置設(shè)置GridLayout共有幾行幾列,就好像一個二維平面普通,然后添加共有幾行幾列,就好像一個二維平面普通,然后添加GridLayout規(guī)劃中的組件會填充第一行的格子,然后再從第二行開場規(guī)劃中的組件會填充第一行的格子,然后再從第二行開場填。依此類推,就像是填充一個個格子普通,而且填。依此類推,就像是填充一個個格子普通,而且GridLayout規(guī)劃管規(guī)劃管理器會將填進(jìn)去的組件設(shè)置為一樣大。理器會將填進(jìn)去的組件設(shè)置為一樣大。 構(gòu)造方法:構(gòu)造方法:GridLayout() 建立一個新的建立一個

29、新的GridLayout規(guī)劃,默許值為一行規(guī)劃,默許值為一行一列一列 GridLayout(int rows,int cols) 建立一個指定了幾行幾列的建立一個指定了幾行幾列的GridLayout規(guī)劃規(guī)劃 GridLayout(int rows,int cols,int hgap,int vgap) 建立一個指定了幾行幾建立一個指定了幾行幾列列GridLayout規(guī)劃,并設(shè)置規(guī)劃,并設(shè)置組件的垂直和程度間距組件的垂直和程度間距職業(yè)教育高端品牌BorderLayout規(guī)劃規(guī)劃 BorderLayout將版面劃分成東、西、南、北、中五個區(qū)域,大家可將版面劃分成東、西、南、北、中五個區(qū)域,大家可以

30、將組件放在這五個區(qū)域中的某個區(qū)域里。要運(yùn)用以將組件放在這五個區(qū)域中的某個區(qū)域里。要運(yùn)用BorderLayout,只需,只需在容器中設(shè)置運(yùn)用在容器中設(shè)置運(yùn)用BorderLayout這種版面管理即可。這種版面管理即可。 構(gòu)造方法:構(gòu)造方法:BorderLayout() 建立一個組件間沒有間距的建立一個組件間沒有間距的BorderLayout規(guī)劃規(guī)劃BorderLayout(int hgap,int vgap) 建立一個組件間有間距的建立一個組件間有間距的BorderLayout 規(guī)劃。規(guī)劃。職業(yè)教育高端品牌另外還有兩種規(guī)劃另外還有兩種規(guī)劃CardLayout規(guī)劃和規(guī)劃和GridBagLayout規(guī)

31、劃。規(guī)劃。CardLayout規(guī)劃的功能就好像他將很多張卡片疊在一規(guī)劃的功能就好像他將很多張卡片疊在一同,他一次只能看到其中一張卡片,但是他可以恣意抽出同,他一次只能看到其中一張卡片,但是他可以恣意抽出其中一張卡片來看。其中一張卡片來看。GridBagLayout規(guī)劃是運(yùn)用網(wǎng)格單元,指定組件的相規(guī)劃是運(yùn)用網(wǎng)格單元,指定組件的相對布置,即在一個網(wǎng)格的單元中指定它們的位置,每個組對布置,即在一個網(wǎng)格的單元中指定它們的位置,每個組件的網(wǎng)格單元的大小可以不同,每個網(wǎng)格的每一行可以有件的網(wǎng)格單元的大小可以不同,每個網(wǎng)格的每一行可以有不同的列數(shù)。不同的列數(shù)。由于這由于這CardLayout規(guī)劃不太常用,因

32、此就不做詳細(xì)引規(guī)劃不太常用,因此就不做詳細(xì)引見了,有興趣的同窗可以研討一下。見了,有興趣的同窗可以研討一下。 職業(yè)教育高端品牌事件事件 JAVA事件的處置機(jī)制事件的處置機(jī)制 大家能夠曾經(jīng)留意到了上面的程序中,按下按鈕后不會觸發(fā)任大家能夠曾經(jīng)留意到了上面的程序中,按下按鈕后不會觸發(fā)任何事件。假設(shè)他想在按下按鈕時,實現(xiàn)一定的功能,就必需進(jìn)入程序何事件。假設(shè)他想在按下按鈕時,實現(xiàn)一定的功能,就必需進(jìn)入程序內(nèi)部,編寫用于決議要發(fā)生什么事情的代碼。在這里就用到了內(nèi)部,編寫用于決議要發(fā)生什么事情的代碼。在這里就用到了JAVA的事件處置機(jī)制。在事件的處置過程中,主要涉及三個對象:的事件處置機(jī)制。在事件的處置

33、過程中,主要涉及三個對象:Event-事件事件Event Source-事件源事件源Event handler-事件處置者事件處置者用戶對界面操作在用戶對界面操作在JAVA言語上的描畫,以言語上的描畫,以類的方式出現(xiàn),例如鍵盤操作對應(yīng)的事件類的方式出現(xiàn),例如鍵盤操作對應(yīng)的事件類是類是KeyEvent事件發(fā)生的場所,通常就是各個組事件發(fā)生的場所,通常就是各個組件,例如按鈕件,例如按鈕Button接納事件并對其進(jìn)展處置的對象接納事件并對其進(jìn)展處置的對象職業(yè)教育高端品牌JAVA的事件處置是采取的事件處置是采取“委派事件模型委派事件模型(也稱為察看也稱為察看者方式者方式),所謂的,所謂的“委派事件模型

34、是指當(dāng)事件發(fā)生時,產(chǎn)委派事件模型是指當(dāng)事件發(fā)生時,產(chǎn)惹事件的對象惹事件的對象(即事件源即事件源)會把此信息傳給會把此信息傳給“事件傾聽者事件傾聽者處置的一種方式,而這里所指的處置的一種方式,而這里所指的“事件對象現(xiàn)實上事件對象現(xiàn)實上就是就是java.awt.event事件類庫里某個類所創(chuàng)建的對象,我們事件類庫里某個類所創(chuàng)建的對象,我們暫且把它稱為暫且把它稱為“事件對象。事件對象。 職業(yè)教育高端品牌按鈕事件按鈕事件 import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;pu

35、blic class ButtonEventApp extends FrameButton myButton=new Button(測試按鈕測試按鈕);public ButtonEventApp()super(Button事件例如事件例如);myButton.addActionListener(new MyEvent();this.add(myButton);setSize(160,120);show();public static void main(String args)new ButtonEventApp();class MyEvent implements ActionListene

36、rpublic void actionPerformed(ActionEvent e)System.out.println(Button事件處置測試事件處置測試.); 對按鈕對按鈕myButton進(jìn)展事件注冊進(jìn)展事件注冊 用內(nèi)部類實現(xiàn)用內(nèi)部類實現(xiàn)ActionListener接口接口 編寫按鈕的執(zhí)行義務(wù)編寫按鈕的執(zhí)行義務(wù)職業(yè)教育高端品牌按鈕事件程序運(yùn)轉(zhuǎn)結(jié)果按鈕事件程序運(yùn)轉(zhuǎn)結(jié)果運(yùn)轉(zhuǎn)效果如下:運(yùn)轉(zhuǎn)效果如下:點擊點擊“測試按鈕測試按鈕按鈕按鈕 此處我們雖然只是簡單的輸出了一個字符串,同窗們可以試此處我們雖然只是簡單的輸出了一個字符串,同窗們可以試著讓程序在點擊按鈕的時候做一些其他的事,比如取出文本域中

37、著讓程序在點擊按鈕的時候做一些其他的事,比如取出文本域中的數(shù)字進(jìn)展加減運(yùn)算等。的數(shù)字進(jìn)展加減運(yùn)算等。職業(yè)教育高端品牌窗體事件窗體事件 用戶改動窗口的形狀,比如最大化、最小化或者封鎖等,會觸用戶改動窗口的形狀,比如最大化、最小化或者封鎖等,會觸發(fā)窗體事件,窗體事件的構(gòu)造方法是發(fā)窗體事件,窗體事件的構(gòu)造方法是“WindowEvent(Window source,int id),其中,其中“source表示觸發(fā)此事件的窗體,表示觸發(fā)此事件的窗體,“id那么表那么表示事件代碼。示事件代碼。如以下舉了窗體事件代碼常量以及它們的含義。如以下舉了窗體事件代碼常量以及它們的含義。WINDOW_CLOSED:表示窗口被封鎖:表示窗口被封鎖WINDOW_CLOSING:表示窗口處于封鎖過程中:表示窗口處于封鎖過程中WINDOW_DEICONIFIED:表示由最小化恢復(fù)為原來大小:表示由最小化恢復(fù)為原來大小WINDOW_ICONIFIED:表示窗口被最小化:表示窗口被最小化可以經(jīng)過可以經(jīng)過“getWindow()方法或者方法或者“g

溫馨提示

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

評論

0/150

提交評論