版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第十章圖形用戶界面主要內(nèi)容:AWT的組成以及使用。10.1 AWT概述java.awt主要由GUI組件、布局管理器和圖像處理三部分組成。1.GUI構(gòu)件的組成類(1標(biāo)準(zhǔn)構(gòu)件Button,按下就會(huì)被激活的用戶接口組件,可加標(biāo)簽和圖標(biāo)。Checkbox(復(fù)選框和CheckboxGroup(復(fù)選框組Checkbox類提供兩種狀態(tài):一種是選中,另一種是未選中。CheckboxGroup類用于把一組Checkbox設(shè)置為多重互斥型。Choice,列表選擇。提供了多項(xiàng)選擇功能,選項(xiàng)數(shù)通常不多。List,列表。用于清單顯示和項(xiàng)目選擇,可有一垂直滾動(dòng)條,通過滾動(dòng)選擇一或多個(gè)選項(xiàng)。TextField,單行文本輸入
2、區(qū)TextArea,文本輸入?yún)^(qū)Label,標(biāo)簽。在界面上顯示文字,可在程序中對(duì)其修改。Scrollbar,滾動(dòng)條user-meng(水平和垂直,一般在Panel子類中使用。Canvas,畫布。用來在其上繪制圖形并創(chuàng)建自己的構(gòu)件。(2菜單構(gòu)件MenuBar,菜單條是包含菜單的容器。必須與一個(gè)框架捆在一起才能起作用,即調(diào)用Frame.setMenuBar(。Menu,包含菜單項(xiàng)和子菜單,只能加入到菜單容器中。MenuItem,菜單系統(tǒng)的“葉子”,通常被添加到一個(gè)菜單中。CheckboxMenuItem,表示菜單項(xiàng)有選擇和不選擇兩種狀態(tài)。(3容器構(gòu)件(缺省布局采用BorderLayout方式Pane
3、l,面板。提供一個(gè)包含其它組件或面板的容器,通過布局管理器來控制組件的位置,使組件按程序員要求排列。Window,窗口。是容器的子類。只有依附于框架才能存在。Frame,框架。是窗口的子類,是一個(gè)帶標(biāo)題和可變大小邊框的頂級(jí)窗口。Dialog不能改變大小,用于設(shè)定應(yīng)用程序中的一些選項(xiàng)。FileDialog,主要用于存取和打開文件的操作。2.布局管理器AWT中包含五種布局管理器,FlowLayout類、BorderLayout類、GridLayout類、GridBagLayout類和CardLayout類。(1FlowLayout類,流布局管理器是Panel和Applet的默認(rèn)布局管理器,在該布局
4、方式下,組件按順序一行一行地排列,從左到右,從上到下。容器中的各個(gè)組件,默認(rèn)為居中位置,也可設(shè)為左對(duì)齊或右對(duì)齊方式。它不控制組件的大小,而是使組件保持它們?cè)械某叽纭?2 BorderLayout類,邊界布局管理器它是Window、Frame和Dialog的默認(rèn)布局管理器,它包含東、西、南、北、中五個(gè)區(qū)域。(3 GridLayout類,柵格布局管理器每個(gè)組件占用一個(gè)柵格,從左到右,從上到下??蓜?chuàng)建指定行數(shù)和列數(shù)的布局,組件可以添到定義的某個(gè)格子中,每個(gè)格子的大小都是一樣的。(4 GridBagLayout類,柵格包布局管理器可安排、調(diào)整其縱、橫方向布局的布局管理器,它不要求每個(gè)組件都具有相同尺
5、寸。(5 CardLayout類,卡片布局管理器。3.圖像處理AWT提供各類:Graphics、Image、Color、Font和FontMetrics、Polygon、Dimension、Rectangle。持。除Image類,java.awt還提供了其他基本圖象支持。如:Graphics的drawImage(、Toolkit的getImage(和MediaTracker類。跟蹤圖象。4.其它AWT類Event類:表示用戶行為。Toolkit類:獲取圖象。MediaTracket類:圖象加載情況跟蹤。10.2Componet類的結(jié)構(gòu)Componet類是一抽象類,用來生成一個(gè)通用的AWT構(gòu)件,
6、其中封裝了AWT構(gòu)件的屬性和方法。public class Component extends Objectpublic Container getParent(;public boolean isValid(;public boolean isVisible(;public boolean isShowing(;public boolean isEnabled(;public Dimension size(;public synchronized void show(; public show(boolean cond;public synchronized void hide(; publ
7、ic Color getForeground(;public void move(int x,int y;public void resize(int width,int height;public void paint(Graphics g;public void update(Graphics g; public void repaint(;public Image createImage(ImageProducerproducer;public boolean mouseDown(Event evt,int x,int y;public boolean mouseDrag(Event e
8、vt,int x,int y;public boolean mouseUp(Event evt,int x,int y;public boolean mouseMove(Event evt,int x,int y;public boolean mouseEnter(Event evt,int x,int y;public boolean mouseExit(Event evt,int x,int y;public boolean keyDown(Event evt,int key;public boolean keyUp(Event evt,int key;public boolean act
9、ion(Event evt,Object what;public boolean getFocus(Event evt,Object what;public String toString(;10.3AWT構(gòu)件的使用1.Button,其類結(jié)構(gòu)如下:public class Button extends Componentpublic Button(;public Button(String label;public String getLabel(;public void setLabel(String label;portected String paramString(;例:Button
10、b1=new Button(“Button1”;add(b1;/將b1加到當(dāng)前窗口2.Checkbox和CheckboxGrouppublic class Checkbox extends Componentpublic Checkbox(;public Checkbox(String label;public Checkbox(String label, CheckboxGroup group,boolean state ; public String getLabel(;public void setLabel(String label;public boolean getState(;p
11、ublic void setState(boolean state;public CheckboxGroup getCheckboxGroup(;public void setCheckboxGroup(CheckboxGroup g; portected String paramString(; public class CheckboxGroup extends Objectpublic CheckboxGroup(;public Checkbox getCurrent(;public synchronized void setCurrent(Checkbox t;public Strin
12、g toString(;例:Checkbox one=new Checkbox(“one”,false;Checkbox two=new Checkbox(“two”,true;add(one;add(two;例:CheckboxGroup cbg=newCheckboxGroup(;Checkbox one=new Checkbox(“one”,cbg,false;Checkbox two=new Checkbox(“two”,cbg,true;add(one;add(two;3.ChoicePublic class Choice extends ComponentPublic Choice
13、(;Public int countItems(;Public String getItem(int index;Public int getSelectedIndex(;Public synchronized void select(int pos;Public void select(String str; Public String paramString(;例:Choice c1=new Choice(;c1.addItem(“one”;c1.addItem(“two”;c1.addItem(“three”;add(c1;4.ListPublic class List extends
14、Component Public List(;Public List(int rows,booleanmultipleSelections;Public int countItems(;Public String getItem(int index; Public synchronized void addItem(String item;Public synchronized void clear(; Public synchronized void delItem(int position;Public synchronized void delItems(int start,int en
15、d;Public synchronized int getSelectedIndex(;Public synchronized int getSelectedIndexs(;Public synchronized StringgetSelectedItem(;Public boolean allowsMultipleSelections(;Public void setMultipleSelections(boolean v; 例:List l1=new List(10,false;for(int i=0;i<10;i+l1.addItem(“item”+i;add(“Center”,l
16、1;5.TextField和TextArea兩者有共同的父類TextComponent.該類提供了一些方法:public void setText(String t; public String getText(;public String getSelectText(; public boolean isEditable(;public void setEditable(boolean t; public void select(int selStart,int selEnd;public void selectAll(;protected String paramSting(; Publi
17、c class TextField extends TextComponentPublic TextField(;Public TextField(int cols;Public TextField(String text;Public TextField(String text,int cols;Public char getEchoChar(;Public int getColumns(;Public String paramString(;Public class TextArea extends TextComponentPublic TextArea (;Public TextAre
18、a (int rows,int cols;Public TextArea (String text;Public TextArea (String text, introws ,int cols;Public void insertText(String str,int pos;Public void replaceText(String str,int start,int end;Public char getRows(;Public int getColumns(;Public String paramString(;例:TextField f=new TextField(“Single
19、show”,30;TextArea t=new TextArea(“more line”,4,30;f.setText(“Hello;Strings=t.getText(;6.Labelpublic class Label extends Componentpublic final static int CENTER; public final static int LEFT;public final static int RIGHT;public Label(;public Label(String label;public Label(String label,int alignment;
20、public String getText(;public void setText(String label; protected String paramString(;例:Label la1=new Label(“LABEL”;add(la1;7.Scrollbar(缺省情況下用BorderLayoutPublic class Scrollbar extends ComponentPublic final static int HORIZONTAL;Public final static int VERTICAL; Public Scrollbar(;Public Scrollbar(i
21、nt orientation;Public Scrollbar(intorientation,int value,int visible, int minimum,int maximum;public int getOrientation(;public int getValue(;public int getMinimum(;public int getmaximum(;public int getVisible(;此外,Scrollbar類還定義了4個(gè)與滾動(dòng)速度有關(guān)的方法。getLineIncrement(;setLineIncremen t(int li;getPageIncrement
22、(;setPageIncremen t(int pi;8.Canvas,通用構(gòu)件,需要由其子類添加一些具體功能。Public class Canvas extends ComponentPublic Canvas(;Public void paint(Graphics g;/缺省情況,該方法只將畫布區(qū)清為構(gòu)件的背景顏色。9.MenuBarpublic class MenuBar extendsnentimplememtsMenuContainerpublic MenuBar(;public synchronized Menu add(Menum;public synchronized void
23、remove(int index; public synchronized voidremove(Ment m;public int countMenus(;public Menu getMenu(int i;10.Menupublic class MenuBar extendsMenuItemimplememts MenuContainerpublic Menu(String label;public Menu(String label,boolean tearOff;public int countItems(;public MenuItem getItem(int index;publi
24、c synchronized MenuItem add(MenuItem mi;public void add(String label; public void addSeparator(;public synchronized remove(int index;11.MenuItempublic class MenuItem extends MenuComponentpublic MenuItem(String label;public String getLabel(;public void setLabel(String label;public boolean isEnabled(;
25、public void enable(;12.Framepublic class Frame extends Window implememts MenuContainerpublic Frame(;public Frame(String title;public void dispose(;public String getTitle(;public void remove(MenuComponent m;public MenuBar getMenuBar(;public void setMenuBar(MenuBar mb;13.Windowpublic class Window extends Containerpub
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高科技人才招聘引進(jìn)協(xié)議
- 二零二五年度抵押房產(chǎn)買賣資金監(jiān)管與委托合同2篇
- 2024橋梁市政工程無負(fù)壓供水設(shè)備安裝與調(diào)試服務(wù)合同3篇
- 2024年老舊住宅小區(qū)拆除及重建服務(wù)合同
- 二零二五年度健康食品新購銷合同范本2篇
- 2024年賽事直播權(quán)授權(quán)合同3篇
- 寵物服務(wù)行業(yè)寄養(yǎng)期間免責(zé)協(xié)議
- 個(gè)人信用貸款擔(dān)保合同
- 農(nóng)產(chǎn)品供應(yīng)鏈管理與物流服務(wù)合同
- 2025版水面旅游產(chǎn)品研發(fā)與銷售承包合同3篇
- 2023年六安霍邱合高現(xiàn)代產(chǎn)業(yè)園投資有限公司招聘筆試題庫含答案解析
- 代縣雁門光伏升壓站~寧遠(yuǎn)220kV線路工程環(huán)評(píng)報(bào)告
- 承諾函(支付寶)
- 危險(xiǎn)化學(xué)品目錄2023
- GB/T 24123-2009電容器用金屬化薄膜
- 艾滋病梅毒乙肝實(shí)驗(yàn)室檢測
- 國鐵橋梁人行道支架制作及安裝施工要點(diǎn)課件
- 領(lǐng)導(dǎo)科學(xué)全套精講課件
- 粵教版地理七年級(jí)下冊(cè)全冊(cè)課件
- 小學(xué)科學(xué)蘇教版六年級(jí)上冊(cè)全冊(cè)精華知識(shí)點(diǎn)(2022新版)
- 萎縮性胃炎共識(shí)解讀
評(píng)論
0/150
提交評(píng)論