GUI概述
GUI:Graphical User Interface(圖形用戶接口)
用圖形的方式,來顯示計算機操作的界面,這樣更方便更直觀。
CLI:Command line User Interface (命令行用戶接口)
就是常見的Dos命令行操作,需要記憶一些常用的命令,操作不直觀。
Java為GUI提供的對象都存在java.Awt和javax.Swing兩個包中。
Awt和Swing
java.Awt:Abstract Window ToolKit (抽象窗口工具包),需要調用本地系統(tǒng)方法實現(xiàn)功能,屬重量級控件。
javax.Swing:在AWT的基礎上,建立的一套圖形界面系統(tǒng),其中提供了更多的組件,而且完全由Java實現(xiàn)。增強了移植性,屬輕量級控件。
組件繼承關系

組件繼承關系圖
Container:為容器,是一個特殊的組件,該組件中可以通過add 方法添加其他組件進來。
布局管理器
容器中的組件的排放方式,就是布局。
常見的布局管理器:
-
FlowLayout(流式布局管理器)
從左到右的順序排列。
Panel默認的布局管理器。 -
BorderLayout(邊界布局管理器)
東,南,西,北,中
Frame默認的布局管理器。 -
GridLayout(網(wǎng)格布局管理器)
規(guī)則的矩陣 -
CardLayout(卡片布局管理器)
選項卡 -
GridBagLayout(網(wǎng)格包布局管理器)
非規(guī)則的矩陣
建立一個簡單的窗體
Container常用子類:Window Panel(面板, 不能單獨存在)
Window常用子類:Frame Dialog
事件監(jiān)聽機制
時間監(jiān)聽機制的組成:
事件源(組件)
事件(Event)
監(jiān)聽器(Listener)
事件處理(引發(fā)事件后處理方式)
處理流程:
- 確定事件源(容器或組件)
- 通過事件源對象的addXXXListener()方法將偵聽器注冊到該事件源上
- 該方法中接收XXXListener的子類對象,或者XXXListener的子類XXXAdapter的子類對象(一般用匿名內(nèi)部類表示)
- 在覆蓋方法的時候,方法的參數(shù)一般是XXXEvent類型的變量接收
- 事件觸發(fā)后會把事件打包成對象傳遞給該變量。(其中包括 事件源對象。通過getSource()或者,getComponent()獲?。?/li>
組件.addXXXListener(new XXXAdapter){
public void methodName(XXXEvent e){}
}

事件監(jiān)聽機制流程圖