5.3 AWT組件庫(1)
本節(jié)從應(yīng)用的角度進(jìn)一步介紹AWT的一些組件,目的使大家加深對AWT的理解,掌握如何用各種組件構(gòu)造圖形化用戶界面,學(xué)會控制組件的顏色和字體。下面是一些常用的組件的介紹:
1. 按鈕(Button)
按鈕是最常用的一個組件,其構(gòu)造方法是:Button b = new Button("Quit");
當(dāng)按鈕被點(diǎn)擊后,會產(chǎn)生ActionEvent事件,需ActionListener接口進(jìn)行監(jiān)聽和處理事件。
ActionEvent的對象調(diào)用getActionCommand()方法可以得到按鈕的標(biāo)識名,缺省按鈕名為label。
用setActionCommand()可以為按鈕設(shè)置組件標(biāo)識符。
2.復(fù)選框 (Checkbox)
復(fù)選框提供簡單的"on/off"開關(guān),旁邊顯示文本標(biāo)簽。
構(gòu)造方法如下:
setLayout(new GridLayout(3,1));
add(new Checkbox("one",null,true));
add(new Checkbox("two"));
add(new Checkbox("three"));
復(fù)選框用ItemListener 來監(jiān)聽ItemEvent事件,當(dāng)復(fù)選框狀態(tài)改變時用getStateChange()獲取當(dāng)前狀態(tài)。使用getItem()獲得被修改復(fù)選框的字符串對象。
例5.13
class Handler implements ItemListener {
public void itemStateChanged(ItemEvent ev){
String state = "deselected";
if (ev.getStateChange() = = ItemEvent.SELECTED){
state = "selected"
}
System.out.println(ev.getItem()+" "+state);
}
}
3.復(fù)選框組(CheckboxGroup)
使用復(fù)選框組,可以實(shí)現(xiàn)單選框的功能。方法如下:
setLayout(new GridLayout(3, 1));
CheckboxGroup cbg = new CheckboxGroup();
add(new Checkbox("one", cbg, true));
add(new Checkbox("two", cbg, false));
add(new Checkbox("three", cbg, false));
查看運(yùn)行結(jié)果
5.3 AWT組件庫(2)
4. 下拉式菜單(Choice)
下拉式菜單每次只能選擇其中的一項(xiàng),它能夠節(jié)省顯示空間,適用于大量選項(xiàng)。
Choice Colorchooser=new Choice();
Colorchooser.add("Green");
Colorchooser.add("Red");
Colorchooser.add("Blue");
Choice 用ItemListener接口來進(jìn)行監(jiān)聽
5. Canvas
一個應(yīng)用程序必須繼承Canvas類才能獲得有用的功能,比如創(chuàng)建一個自定義組件。如果想在畫布上完成一些圖形處理,則Canvas類中的paint()方法必須被重寫。
Canvas組件監(jiān)聽各種鼠標(biāo),鍵盤事件。當(dāng)在Canvas組件中輸入字符時,必須先調(diào)用requestFocus()方法。
本節(jié)從應(yīng)用的角度進(jìn)一步介紹AWT的一些組件,目的使大家加深對AWT的理解,掌握如何用各種組件構(gòu)造圖形化用戶界面,學(xué)會控制組件的顏色和字體。下面是一些常用的組件的介紹:
1. 按鈕(Button)
按鈕是最常用的一個組件,其構(gòu)造方法是:Button b = new Button("Quit");
當(dāng)按鈕被點(diǎn)擊后,會產(chǎn)生ActionEvent事件,需ActionListener接口進(jìn)行監(jiān)聽和處理事件。
ActionEvent的對象調(diào)用getActionCommand()方法可以得到按鈕的標(biāo)識名,缺省按鈕名為label。
用setActionCommand()可以為按鈕設(shè)置組件標(biāo)識符。
2.復(fù)選框 (Checkbox)
復(fù)選框提供簡單的"on/off"開關(guān),旁邊顯示文本標(biāo)簽。
構(gòu)造方法如下:
setLayout(new GridLayout(3,1));
add(new Checkbox("one",null,true));
add(new Checkbox("two"));
add(new Checkbox("three"));
復(fù)選框用ItemListener 來監(jiān)聽ItemEvent事件,當(dāng)復(fù)選框狀態(tài)改變時用getStateChange()獲取當(dāng)前狀態(tài)。使用getItem()獲得被修改復(fù)選框的字符串對象。
例5.13
class Handler implements ItemListener {
public void itemStateChanged(ItemEvent ev){
String state = "deselected";
if (ev.getStateChange() = = ItemEvent.SELECTED){
state = "selected"
}
System.out.println(ev.getItem()+" "+state);
}
}
3.復(fù)選框組(CheckboxGroup)
使用復(fù)選框組,可以實(shí)現(xiàn)單選框的功能。方法如下:
setLayout(new GridLayout(3, 1));
CheckboxGroup cbg = new CheckboxGroup();
add(new Checkbox("one", cbg, true));
add(new Checkbox("two", cbg, false));
add(new Checkbox("three", cbg, false));
查看運(yùn)行結(jié)果
5.3 AWT組件庫(2)
4. 下拉式菜單(Choice)
下拉式菜單每次只能選擇其中的一項(xiàng),它能夠節(jié)省顯示空間,適用于大量選項(xiàng)。
Choice Colorchooser=new Choice();
Colorchooser.add("Green");
Colorchooser.add("Red");
Colorchooser.add("Blue");
Choice 用ItemListener接口來進(jìn)行監(jiān)聽
5. Canvas
一個應(yīng)用程序必須繼承Canvas類才能獲得有用的功能,比如創(chuàng)建一個自定義組件。如果想在畫布上完成一些圖形處理,則Canvas類中的paint()方法必須被重寫。
Canvas組件監(jiān)聽各種鼠標(biāo),鍵盤事件。當(dāng)在Canvas組件中輸入字符時,必須先調(diào)用requestFocus()方法。