Java語言程序設(shè)計(jì)講義-第十章-_第1頁
Java語言程序設(shè)計(jì)講義-第十章-_第2頁
Java語言程序設(shè)計(jì)講義-第十章-_第3頁
Java語言程序設(shè)計(jì)講義-第十章-_第4頁
Java語言程序設(shè)計(jì)講義-第十章-_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論