GUI
1、AWT
Container 和 Component 是AWT中的兩個核心類
Component MenuComponent
| \Button Container /*Container是一種Component,Container本身可以容納Component,
TextArea | \所以Container可以容納Container*/
Label Window Panel
TextField | \ \
List Frame Dialog Applet
....
2、組件和容器 Frame Panel
3、佈局管理器
awt 提供了5種佈局管理器類
FlowLayout
FlowLayout 是 Panel 類的默認佈局管理器(流水線式的佈局) 例子:TestFlowLayout.java
BorderLayout
BorderLayout 是Frame 類的默認佈局管理器(可指定位置,不指定默認)(東 西(豎直縮放), 南 北(水平縮放) 中(默認)(任意縮放),每個區域只能加一個組件,多
則覆蓋)
GridLayout
GridLayout 從左到右添滿一行後換行,再從上到下 GridLayout 構造方法中指定分隔的行數和列數 GridLayout(3,4) 例子:TestBorderLayout.java
4、事件處理
/*事件監聽*/
/* 內部類 */
好處:1.可以方便的訪問包裝類(上面的類)的成員
2.可以更清楚的組織邏輯,防止不應該被其他類訪問的類經行訪問。何時使用:該類不允許或不需要其他類進行訪問
Graphics 類 paint方法
每個 Component 都有一個paint(Graphics g)用於實現繪圖目的,每次重畫該Component時都會自動調用paint方法
Graphics 類中提供了許多繪圖方法,具體查詢API文檔
/*鼠標事件適配器*/
抽象類java.awt.event.MouseAdapter 實現了 MouseListener 接口,可以使用其子類作爲 MouseEvent 的監聽器,只要重寫其相應的方法即可。
對於其他的監聽器,也有對應的適配器
使用適配器可以避免監聽器類定義沒有必要的空方法。
MyMouseAdapter.java 鼠標適配器
repaint - update() - paint();
5、Java圖形
6、Window事件