更新時(shí)間:2018年09月18日14時(shí)14分 來(lái)源:傳智播客 瀏覽次數(shù):
1.1. GUI概述
GUI就是Java中的圖形化界面技術(shù)
Java提供了兩套GUI支持的類(lèi)庫(kù)awt與swing
awt是與系統(tǒng)相關(guān)的重量級(jí)框架,swing是輕量級(jí)框架,這里我們選擇更為優(yōu)秀的swing
對(duì)于Java來(lái)講,圖形化界面一切均為組件,窗口、面板、按鈕、菜單等等,這些組件都對(duì)應(yīng)于一個(gè)類(lèi)。比如,想要一個(gè)按鈕,new一個(gè)JButton對(duì)象即可
1.2. GUI常用組件
1.2.1. GUI窗口
Jframe是窗體組件。創(chuàng)建該組件即創(chuàng)建了一個(gè)窗口。窗口是一個(gè)容器組件,所有內(nèi)容均可以放入其中。
創(chuàng)建窗體對(duì)象:
JFrame frame = newJFrame(“標(biāo)題”);
// 在這里需要簡(jiǎn)單設(shè)置屬性:
frame.setSize(int 寬,int 高); //設(shè)置窗體尺寸
frame.setLocation(int x軸,int y軸); //設(shè)置窗體位置
frame. setVisible(true); //設(shè)置窗體可見(jiàn)
this.setResizable(false); //設(shè)置窗體大小固定
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 關(guān)閉窗口默認(rèn)操作
向窗體中添加其他組件:
frame.add(其他組件);
1.2.2. GUI布局
布局是指界面存放組件位置的方式。
如果組件凌亂地存放在容器當(dāng)中不好看,通常可以采用對(duì)應(yīng)布局方式,來(lái)規(guī)范組件的位置,Java也提供了常見(jiàn)的布局對(duì)象。
LayoutManager: 布局接口,各種布局類(lèi)均為其子類(lèi)
frame.setLayout(布局對(duì)象) //設(shè)置窗口布局
null:不使用布局,此時(shí)可以容器內(nèi)的組件可以調(diào)用方法,通過(guò)坐標(biāo)以及尺寸進(jìn)行組件定位:
組件定位方法為void setBounds(int x軸,int y軸,int 寬度,int 高度)
BorderLayout:邊界布局,將界面分為東西南北中5個(gè)方位,frame的默認(rèn)布局
1.2.3. GUI面板
JPanel面板與JFrame窗體類(lèi)似,屬于容器組件,可以存放其他組件內(nèi)容。通常用來(lái)劃分區(qū)域,完成一個(gè)完整的功能。
通常的方式是: JFrame存放JPanel,JPanel存放其他組件。
1.2.4. GUI按鈕
在容器內(nèi)最終完成數(shù)據(jù)展示與交互的均為功能組件。組件眾多,其他組件的使用方法均類(lèi)似,這里不一一介紹。歡迎界面中使用到了Button組件。
Button btn = new Button();
通用步驟:
1、創(chuàng)建功能組件對(duì)象;
2、給功能組件綁定監(jiān)聽(tīng)器;
3、將功能組件添加到容器組件中;
1.2.5. GUI監(jiān)聽(tīng)器
頁(yè)面中的各種組件均包含一些Java預(yù)設(shè)的用戶(hù)操作(如鼠標(biāo)點(diǎn)擊,鍵盤(pán)按鍵等),如何在用戶(hù)完成對(duì)應(yīng)操作時(shí),執(zhí)行對(duì)應(yīng)的代碼,是事件監(jiān)聽(tīng)機(jī)制完成的。
將發(fā)生預(yù)設(shè)事件的組件綁定監(jiān)聽(tīng)器,監(jiān)聽(tīng)器某個(gè)組件是否發(fā)生了用戶(hù)操作,當(dāng)用戶(hù)進(jìn)行對(duì)應(yīng)的操作后,執(zhí)行對(duì)應(yīng)代碼。
我們最常見(jiàn)的操作是鼠標(biāo)點(diǎn)擊按鈕,是按鈕的動(dòng)作。這里介紹按鈕的事件監(jiān)聽(tīng)。
事件監(jiān)聽(tīng)步驟:
?、?被監(jiān)聽(tīng)的組件調(diào)用方法與監(jiān)聽(tīng)器關(guān)聯(lián)
按鈕組件關(guān)聯(lián)監(jiān)聽(tīng)器方法:addActionListener(監(jiān)聽(tīng)器對(duì)象)
按鈕動(dòng)作監(jiān)聽(tīng)器接口:ActionListener
?、?在監(jiān)聽(tīng)器中定義用戶(hù)操作對(duì)應(yīng)的執(zhí)行代碼
重寫(xiě)按鈕動(dòng)作監(jiān)聽(tīng)器(ActionListener)的點(diǎn)擊按鈕方法,
如:
btn. addActionListener(實(shí)現(xiàn)ActionListener的子類(lèi)對(duì)象);
子類(lèi)對(duì)象重寫(xiě)void actionPerformed(ActionEvent e)方法,該方法的內(nèi)容會(huì)在用戶(hù)點(diǎn)擊按鈕時(shí)調(diào)用
作者:傳智播客JavaEE培訓(xùn)學(xué)院
首發(fā):http://java.itcast.cn
北京校區(qū)