第十一週課程總結

AWT

AWT(Abstract Window Toolkit),java.awt包提供了基本的java程序的GUI設計工具,包括組件--Component、容器--Container、佈局管理器--LayoutManager。java

組件

組件名稱 構造方法 使用說明
按鈕(Button) Button b=new Button("退出"); 單擊按鈕產生ActionEvent事件,實現ActionListener接口並重寫actionPerformed()方法監聽和處理事件
複選框(Checkbox) Checkbox ch=new Checkbox("one",true); 選中複選框產生ItemAction事件,實現ItemListener接口監聽和處理事件
下拉菜單(Choice) Choice colorChoose=new Choice(); 實現ItemListener接口監聽和處理事件;Add()方法可在下拉列表中添加選項
畫布(Canvas) public Canvas(GraphicsConfigurationconfig); 重寫Canvas類的paint()方法實現完成圖形處理;實現MouseListener和KeyListener接口監聽Canvas組件的鼠標和鍵盤事件
文本框(TextField) TextField ft=new TextField(16);//寬度爲16個字符 文本框只能顯示一行,按Enter鍵時產生ActionEvent事件,經過ActionListener接口中的actionPerformed()方法處理事件
文本域(TextAera) TextArea ta=new TextArea("Textarea",4,10);//4行10列 可顯示多行多列文本和滾動條
列表框(List) List list=new List(4,false);//4行,不容許多選 提供多個文本選項,支持滾動條,能夠瀏覽多項
對話框(Dialog) Window類的子類
文件對話框(FileDialog) Filedialog fd=new Filedialog(frm,"fileddilog"); 當用戶想打開或存儲文件時,可以使用文件對話框進行操做
菜單欄(MenuBar) MenuBar mb=new MenuBar(); 經過frm.setMenuBar(mb)語句可將菜單mb設置爲Frame對象frm的主菜單
下拉菜單(Menu) Menu m=new Menu("Menu"); 經過mb.add(m)可將m下拉列表添加到菜單欄中
菜單項(MenuItem) MenuItem mi=new MenuItem("Openit"); 經過mi.add(mi)將菜單項mi添加到下一個下拉列表m中。
顏色(Color) //非構造方法,兩種方法設置組件背景色setBackground(Color.BLUE);setBackground(newColor(100,100,100)); 經過setForeground()方法設置組件前景色,經過setBackground()方法設置組件背景色。顏色值可以使用Color類的顏色常量來設置,也可經過指定RGB顏色對象值設置
字體(Font) Font font=new Font("宋體",Font.BOLD,10);//宋體,10號,加粗 按順序向Font()構造方法傳遞有關字體設置的參數

容器

容器(Container)也是一個類,其實是Component的子類,所以容器自己也是一個組件,具備組件的全部性質,可是它的主要功能是容納其它組件和容器。容器能夠簡化圖形化界面的設計,以總體結構來佈置界面。全部的容器均可以經過add()方法向容器中添加組件。經常使用的容器3種:Panel, Frame, Applet。
框架(Frame)
構造方法:小程序

Frame frm = new Frame("New Window");

要生成一個窗口,一般使用Window的子類Frame類進行實例化,而不是直接使用Window 類,框架的外觀就像日常Windows系統下的窗口,有標題、邊框、菜單和大小等。setSize()方法能夠設置框架尺寸的大小,setVisibe()方法能夠設置窗口的可見性。
面板(Panel)
構造方法:框架

Panel pnl = new Panel();

面板是一種透明的容器,沒有標題和邊框。與Frame 不一樣,Panel不能做爲最外層的容器單獨存在,它首先必須做爲一個組件放置在其餘容器(通常爲Frame)中,而後把組件添加到它裏面。在java.swing中則是JPanel。
小程序(Applet)
構造方法:工具

Applet apt = new Applet();

框架通常用做Java應用程序的窗口,而Applet是Java小程序的窗口。與Frame不一樣,Applet是在網頁中顯示的,也能夠經過添加Panel進行組件佈局。佈局

佈局管理器

佈局管理器(LayoutManager):每一個容器都有一個佈局管理器,當容器須要對某個組件進行定位或判斷其大小、尺寸時,就會調用其對應的佈局管理器。使用佈局管理器能夠實現跨平臺的特性,而且得到動態的佈局效果。佈局管理器負責管理組件的排列順序、大小和位置。不一樣的佈局管理器使用不一樣的佈局策略,容器能夠經過選擇不一樣的佈局管理器來決定如何佈局。
流佈局管理器(FlowLayout)
FlowLayout是Panel 和 Applet 的默認佈局管理器。在該佈局管理器中,組件在容器中按照從上到下,從左到右的順序進行排列,行滿後則換行。
構造方法較多,例如:字體

FlowLayout();

默認構造方法,設置居中對齊方式,橫向和縱向間隔均爲默認5像素設計

FlowLayout(FlowLayout.LEFT);

設置居左對齊,橫向和縱向間隔均爲默認5像素code

FlowLayout(FlowLayout.RIGHT,20,40);

設置居右對齊,橫向間隔20像素,縱向間隔40像
邊界佈局管理器(BorderLayout)
構造方法:orm

BorderLayout bl = new BorderLayout();

BorderLayout是Window、Frame和Dialog的默認佈局管理器,其將容器分紅North、South、East、West和Center 5個區域,每一個區域只能放置一個組件。在使用add()方法添加組件到容器時,必須指定將其放置在哪一個區域中。使用BorderLayout時,若是容器大小發生變換,組件的相對位置不變。
網格佈局管理器(GridLayout)
構造方法:對象

GridLayout gl = new GridLayout(3,5); //3行5列

GridLayout 可以使容器中的各個組件呈網格狀佈局,平局佔據容器的空間,即便容器的大小發生變化,每一個組件仍是平均佔據容器的空間。和FlowLayout同樣,GridLayout也是按照從上到下,從左到右的規律進行排列的。
卡片佈局管理器(CardLayout)
構造方法:

CardLayout cl = new CardLayout();

CardLayout可以幫助用戶處理兩個乃至跟多的成員共享同一顯示空間。它把容器分紅許多層,每層的顯示空間佔據整個容器的大小,而且每層之容許反之一個組件,能夠經過Panel來實現每層複雜的用戶界面。

相關文章
相關標籤/搜索