1. 程式人生 > >Java內容梳理(21)API學習(9)GUI圖形介面

Java內容梳理(21)API學習(9)GUI圖形介面

1、GUI介紹

GUI程式設計:使用者圖形介面,軟體介面程式設計

Java中的GUI程式設計技術:AWT;Swing(AWT的擴充套件);SWT;JavaFx

2、Swing程式設計

元件: 組成軟體介面的零件;包括容器,控制元件,主題

控制元件: 與使用者發生互動的功能性零件,比如按鈕:JButton

主題:UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() );採用當前系統的顯示風格,這句程式碼最好是在

第一句執行

容器: 擺放控制元件的零件;包括視窗,面板,佈局管理器

視窗: JFrame,新建時,預設不可見,自帶一個面板容器,用於顯示視窗內容;

         JFrame自帶的這個面板容器預設採用BorderLayout佈局

面板:JPanel:預設採用:流式佈局

佈局管理器: 負責管理控制容器內所有元件的位置,大小以及個數;setLayout( null ) 修改容器採用的佈局

1、邊界佈局(區域佈局):BorderLayout

將整個容器的空間劃分為:東,西,南,北,中,這5個區域

每個區域只允許擺放一個元件,並且該元件將佔滿整個區域的空間;

中部區域最牛B:

        若其他區域沒有擺放元件,則其他區域的空間將被中部區域佔領;

        若中部區域沒有放元件,其他區域不能佔用中部區域的空間;

        若向採用了BorderLayout佈局的容器中新增元件時,沒有指定該元件擺放的位置時,預設放置在中部區域

各區域常量:

        北區:BorderLayout.NORTH

        南區:BorderLayout.SOUTH

        西區:BorderLayout.WEST

        東區:BorderLayout.EAST

        中區:BorderLayout.CENTER

2、流式佈局:FlowLayout:從左到右,從上到下,依次擺放元件

3、絕對佈局:

不採用任何佈局管理器對元件進行管理

必須指定新增到絕對佈局中的元件的位置和大小,否是無法顯示,setBounds(x,y,w,h)

3、事件處理機制

事件源:發生某個情況(事件)的地方(元件)

事件:描述一種情況,比如:滑鼠點選,鍵盤按下某個鍵,.......

監聽器:用於監控事件的發生;不要在監聽器中的事件處理方法內編寫耗時操作,否則介面將卡死直至耗時操作完畢;因為在swing中對

UI控制和事件處理是同一個執行緒中進行

4、貪吃蛇

待續