該部落格是關于Java GUI的學習,雖然對工作沒啥用,但是學生有期末大作業.....
内容是對AWT基礎總結,包括布局管理、監聽事件等。
Java GUI入門手冊:
AWT是基本的GUI設計工具,重點學習其中的布局格式以及事件監聽事件。
首先建立一個視窗,我們先分析Frame類中的方法:
通過上圖,可以看出frame是由構造方法的重載;可以選擇的設定視窗的标題;
為了讓一個基本的視窗顯示,我們需要設定視窗的可見性;必須
為了美觀,我們設定:
視窗大小
視窗顔色
生成視窗的初始位置在左上角,可以設定初始的彈出位置
問題:當我們在完成上述操作後,會出現一個視窗,但是我們無法手動關閉視窗,即點選右邊的X是沒有用的;
當我們完成單個視窗的實作後,會想一些騷操作!

經過上面的學習,我們基本掌握了GUI中基礎的視窗設定;接下來解決視窗的關閉問題;
并且引入面闆相關的概念。
一個界面隻可以有一個Frame窗體元件,但是可以有多個Panel面闆元件,而Panel上也可以使用FlowLayout,BorderLayout,GridLayout等各種布局管理器(後面涉及),這樣可以組合使用,達到較為複雜的布局效果。
在使用 [Swing]向容器添加元件時,需要考慮元件的位置和大小。如果不使用布局管理器,則需要先在紙上畫好各個元件的位置并計算元件間的距離,再向容器中添加。這樣雖然能夠靈活控制元件的位置,實作卻非常麻煩。
為了加快開發速度,[Java]提供了一些布局管理器,它們可以将元件進行統一管理,這樣開發人員就不需要考慮元件是否會重疊等問題。
流式布局(FlowLayout)
邊框布局(BorderLayout) --東西南北中布局
表格布局(GridLayout)
AWT的事件處理機制是一種委派式事件處理方式:普通元件(事件源)将整個事件處理委托給特定的對象(事件監聽器);當該事件源發生指定的事件時,就通知所委托的事件監聽器,由事件監聽器來處理這個事件。 每個元件均可以針對特定的事件指定一個或多個事件監聽對象,每個事件監聽器也可以監聽一個或多個事件源.
簡單來說,當使用者觸發某個條件或者事件的時候,處理代碼将被自動運作,類似鈎子一般。
效果:
注解:一般常見于Java 的awt, swing的事件處理裡面,e是指一個事件,如ActionEvent,MouseMoveEvent等,它有一個事件發起者,用e.getSource()可以獲得,但getSource()傳回的是Object類型(保持方法的通用性),是以如果已經知道是按鈕産生的事件,可以用(JButton)e.getSourse()強制轉換成JButton對象,這樣就可以用JButton對象的方法了
基礎寫法:(面向過程的)
實作效果:
更新版:(面向對象)+組合概念
進階寫法:(内部類) 内部類最大的好處是:能夠暢通無阻的通路外部類
設定了畫筆顔色:
初始畫筆:
目的:實作滑鼠畫畫--》最簡單的點選
效果圖: