圖形用戶界面簡稱GUI,提供了一種更加直觀、友好的與用戶進行交互方式。利用java語言進行圖形用戶界面操做主要由java.awt和java.swing兩個包來完成。其中,AWT包是用戶界面處理的基本工具包。swing包在awt包的基礎上進行了升級、擴展,具備更增強大的圖形界面開發功能。
awt主要的內容主要分爲如下四個部分
1.容器:用於放置基本組件,其自己也是一種組件。
2.佈局管理器:對容器中放置的組件進行佈局管理
3.事件處理:採用事件處理機制,使得用戶可以經過圖形界面與系統進行交互
4.基本組件:包括按鈕、標籤、文本域等等,示圖形界面的組成基本元素。
1、容器
容器是用來存放其它組件的一種特殊組件,在java中,全部容器類都是Container類的子類,Container類繼承了Component類,該類的兩個經常使用子類示Frame和Panel,Frame的Panel類表明兩個不一樣類型的容器。
1.Frame類
Frame類容器是一種帶有邊框的框架窗口,能夠不依賴於其餘任何組件獨立存在,Frame類繼承了Window類,能夠帶標題、設置大小。
實例1:
java
import java.awt.Color; import java.awt.Frame; public class Test{ public static void main(String args[]){ Frame f= new Frame("MyFrame");//以"MyFrame"爲標題建立Frame f.setSize(200,200);//設置窗體大小 f.setResizable(false);//設置大小爲不可調 f.setBackground(Color.gray);//設置背景顏色 f.setVisible(true);//設置Frame爲可見 } }
2.Panel類
Panel類容器沒有任何邊框。並且須要存在與其餘容器中,該類容器只是包含在其餘容器中的一個區域,一般用來將許多組件組合在一個區域中
實例2:
框架
import java.awt.BorderLayout; import java.awt.Color; import java.awt.Frame; import java.awt.Panel; public class test{ public static void main(String args[]){ Frame f = new Frame("MyFrame"); Panel p1 = new Panel(); p1.setBackground(Color.red); Panel p2 = new Panel(); p2.setBackground(Color.green); f.add(p1,BorderLayout.NORTH); f.add(p2,BOrderLayout.CENTER) f.setSize(200,200); f.setVisible(true); } }
2、佈局管理器
佈局管理器用於佈局容器中的組件,包括設定組件的位置和尺寸大小,java語言的AWT包提供了不一樣類別的佈局管理器,包括BorderLayout/FlowLayout/CarLayout/等等。
1.BorderLayout管理器
BorderLayout佈局管理器將容器劃分爲東、西、南、北、中五個區域,它是Frame類的默認佈局管理器。
實例:
工具
import java.awt.BorderLayout; import java.awt.Button; import java.awt.Frame; public class Test{ public static void main(String args[]){ Frame f = new Frame("MyFrame"); f.setLayout(new BorderLayout()); f.add(new Button("按鈕一"),BorderLayout.NORTH); f.add(new Button("按鈕二"),BorderLayout.SOUTH); f.add(new Button("按鈕三"),BorderLayout.CENTER); f.add(new Button("按鈕四"),BOrderLayout.EAST); f.add(new BUtton("按鈕五").BorderLayout.WEST); f.setSize(200,200); f.setVisible(true); } }
2.FlowLayout管理器
FlowLayout佈局管理器用於將組件按照從坐到右、從上到下的順序進行佈局,他是Panel類的默認佈局管理器。採用FlowLayout佈局,不會改變組件的大小,按組件原有尺寸顯示。當一個組件在本行放不下時,將自動換到下一行。FlowLayout組件之間默認的間距是5px,默認對齊方式是居中。
佈局
import java.awt.BorderLayout; import java.awt.Button; import java.awt.Frame; public class Test{ public static void main(String args[]){ Frame f = new Frame("MyFrame"); f.setLayout(new FLowLayout()); f.add(new Button("按鈕一")); f.add(new Button("按鈕二")); f.add(new Button("按鈕三")); f.add(new Button("按鈕四")); f.add(new BUtton("按鈕五")); f.setSize(200,200); f.setVisible(true); } }
3.GridLayout管理器
佈局管理器將容器劃分爲由行和列組成的多個網格,每一個網格放一個組件。採用GridLayout進行佈局時,在容器中按照從左往右、從上到下的順序往網格中逐個添加組件。
code
import java.awt.BorderLayout; import java.awt.Button; import java.awt.Frame; public class Test{ public static void main(String args[]){ Frame f = new Frame("GridLayout"); f.setLayout(new GridLayout(3,3)); for(int i = 0 ; i < 9; i ++){ f.add(new Button("按鈕"+(i+1))); } f.setSize(200,200); f.setVisible(true); } }+
江蘇南京 鍾志遠 904727147
繼承