圖形介面:
佈局管理器:
CardLayout:卡片佈局,皮膚重疊放置,只能看到一個,最先新增的會被顯示出來,可以進行翻動
兩種構造方法:
CardLayout()
建立一個間隙大小為 0 的新卡片佈局。
CardLayout(int hgap, int vgap)
建立一個具有指定的水平和垂直間隙的新卡片佈局。
常用的方法:
previous(Container parent)
翻轉到指定容器的前一張卡片。
show(Container parent, String name)
翻轉到已新增到此佈局的具有指定 name 的元件
next(Container parent)
翻轉到指定容器的下一張卡片。
first(Container parent)
翻轉到容器的第一張卡片。
last(Container parent)
翻轉到容器的最後一張卡片。
GridBagLayout:增強版的網格佈局,元件可以跨行跨列的進行佈局。
構造方法:
GridBagLayout()
建立網格包佈局管理器。
注意:
該佈局管理器的具體實現需要藉助GridBagConstraints類,利用GridBagConstraints類的屬性對元件進行設定,具體內容檢視API文件。
選單項:
JMenuBar:選單欄的實現,將JMenu物件新增到選單欄以構造選單
構造方法:
JMenuBar()
建立新的選單欄。
JMenu:選單的該實現是一個包含JMenuItem的彈出視窗
構造方法:
JMenu(String s)
構造一個新JMenu,用提供的字串作為其文字。
JMenuItem:選單中的項的實現,選單項本質上是位於列表中的按鈕
構造方法:
JMenuItem(String text)
建立帶有指定文字的JMenuItem。
AWT事件模型:
事件模型的三要素:
事件源(Object):事件的產生者。
事件(EventObject):描述發生了什麼事情。
事件監聽(EventListener):事件的處理者
關係:
事件只與事件源有關,與事件監聽無關
一個事件源可以註冊多個事件監聽。
一個事件監聽器可以在多個事件源中註冊。
一個事件源可以就同一類事件註冊多個事件監聽。
事件處理機制:委派式的處理機制(是一種鬆耦合)
元件自身會產生事件物件,但本身不一定負責處理,而是交給一個監聽者去處理
實現監聽的步驟:
a. 實現監聽介面implements XxxxListener
b. 重寫方法actionPerformed(ActionEvent e)
c. 註冊監聽addXxxxListener(ActionListener l)
介面卡:一個重寫了所有介面中方法的類
在java.awt.event包中,會有一些介面卡,也就是把相應的XxxxListener,換成XxxxAdapter就是介面卡。
在AWT中經常用匿名內部類來繼承介面卡做監聽