GUI就是圖形用戶界面
在諾基亞手機的時代
手機中有自帶的小遊戲
打開之後會有一個咖啡一樣的標誌
那個就是用GUI做的
感覺暴露年齡了o(╥﹏╥)o
現在讓我們來看一下吧~
GUI
窗口的創建
創建一個窗口並顯示出來用Frame
布局管理器
FlowLayout(流式布局管理器)
從左到右的順序排列。
Panel(面板)默認的布局管理器。
BorderLayout(邊界布局管理器)
東,南,西,北,中
Frame默認的布局管理器。
GridLayout(網格布局管理器)
規則的矩陣
CardLayout(卡片布局管理器)
選項卡
打開我們的eclipse多開幾個頁面,這就是卡片布局了
GridBagLayout(網格包布局管理器)
非規則的矩陣
就像圖片上的按鍵的布局,就是非規則矩陣布局
暫時就是這麼多了,剩下的知識點,以後我們做練習的時候順便提一下,下面就是重頭戲了
事件監聽
學習GUI需要知道的兩點
1)事件處理
事件:
用戶的一個操作(點擊滑鼠,敲擊鍵盤等操作)
事件源:
被操作的組件(按鈕等)
2)監聽器:
一個自定義類的對象, 實現了監聽器接口, 包含事件處理方法,把監聽器添加在事件源上, 當事件發生的時候虛擬機就會自動調用監聽器中的事件處理方法
窗體監聽
事件源是窗體,把監聽器註冊到事件源上,把事件對象傳遞給監聽器
WindowListener
用於接收窗口事件的偵聽器接口。
我們要知道實現一個接口,就要實現它裡面的所有的方法,效果就是這樣的
其實我們只是需要一個closing方法就可以了,那麼這裡就用到了一個適配器的原理,有一個抽象類windowAdapter
如果要實現 WindowListener 接口,則必須定義該接口內的所有方法。此抽象類將所有方法都定義為 null,所以只需針對關心的事件定義方法。
利用適配器類,我們的代碼可以優化成這個樣子
還可以繼續優化,利用匿名內部類~
這樣實現了
點擊上面的x就可以關閉窗口的操作了
滑鼠監聽
MouseListener
用於接收組件上的滑鼠事件(按下、釋放、單擊、進入或離開)的偵聽器接口。(要跟蹤滑鼠移動和滑鼠拖動,請使用 MouseMotionListener)
MouseAdapter
接收滑鼠事件的抽象適配器類。此類中的方法為空。此類存在的目的是方便創建偵聽器對象。
同上,我們直接利用匿名內部類的方式來寫代碼
鍵盤監聽和鍵盤事件
KeyListener
用於接收鍵盤事件(擊鍵)的偵聽器接口。旨在處理鍵盤事件的類要麼實現此接口(及其包含的所有方法),要麼擴展抽象 KeyAdapter 類(僅重寫有用的方法)
KeyAdapter
接收鍵盤事件的抽象適配器類。此類中的方法為空。此類存在的目的是方便創建偵聽器對象。
KeyEvent
表示組件中發生鍵擊的事件。
動作監聽
addActionListener
用於接收操作事件的偵聽器接口。
對處理操作事件感興趣的類可以實現此接口,而使用該類創建的對象可使用組件的 addActionListener 方法向該組件註冊。在發生操作事件時,調用該對象的 actionPerformed 方法。(這個沒有適配器)
默認監聽鍵盤空格鍵以及滑鼠左鍵
GUI的重點內容就是事件的監聽
小夥伴們吸收一下
剩下的內容
會在之後的練習中給大家演示的
今天就講到這裡啦,喜歡編程的小夥伴可以關注我哦!有學習方面的問題可以私信回覆:學習!