一.awt包中常用控制元件類
1.標籤類Label
Label(String label,int align)
2.文字框類TextField
TextField(String text,int cols)
3.核取方塊Checkbox和單選按鈕CheckboxGroup
Checkbox(String label,boolean state) //state為true時表示選中,反之表示未選中
4.選擇框Choice
5.文字域類TextArea
6.按鈕類Button
二.事件處理
1.事件類Event
常見的事件型別包括ActionEvent,ItemEvent,KeyEvent,MouseEvent
2.在java中,可以使用監視器介面來完成對於各類事件的處理
例如通過actionPerformed()方法的重寫來處理ActionEvent,通過itemStateChanged()來處理ItemEvent事件。
三.框架類和皮膚類
1.框架類
框架是一個容器類控制元件
主要方法:
1)Frame(String strt) //構造視窗
2)dispose() //撤銷視窗
2.皮膚類
皮膚類也是一個容器類控制元件,但其只是一個區域性
3.佈局管理器
1).BorderLayout
邊界佈局將視窗按照東南西北中分為5個部分,每個區域至多放置一個控制元件,且這個控制元件充滿整個區域
2).GridLayout
網格佈局將所有的控制元件放置在各個網格中,每個控制元件大小相同,切充滿整個“格”。
GridLayout(int rows,int cols,int hgap,int vgap)
四.一個java程式使用awt包的例項
import java.awt.event.*; import java.awt.peer.PanelPeer; import java.awt.*; public class test4 extends Frame implements ActionListener,ItemListener{ Label Inform,Login,Key; TextField textLogin,textKey; Checkbox box1,box2; CheckboxGroup boxgroup; Checkbox check1,check2,check3,check4,check5,check6,check7,check8; Label Name,lSex,Hobby; TextField textName; Label Birthday; Choice ychoice,mchoice,dchoice; TextArea areaInform; Button bEnter,bCancel; String Sex="",Year="",Month="",Day=""; String Film="", Reading="",NetWork="",Program="", Art="",Tourism="",Game="",Others=""; String strkey=""; boolean flag=true; public test4() { super("使用者個人資訊"); Inform=new Label("請輸入您的個人資訊,賬號,密碼,單擊確定"); add(Inform,BorderLayout.NORTH); Panel centerPanel=new Panel(); //panel1 Panel panel1=new Panel(); Login=new Label("賬號:"); textLogin=new TextField("",6); Key=new Label("密碼"); textKey=new TextField("",6); textKey.setEchoChar('*'); panel1.add(Login); panel1.add(textLogin); panel1.add(Key); panel1.add(textKey); centerPanel.add(panel1); //panel2 Panel panel2=new Panel(); Name=new Label("姓名:"); lSex=new Label("性別:"); textName=new TextField("",6); boxgroup=new CheckboxGroup(); box1=new Checkbox("男",boxgroup,true); box2=new Checkbox("女",boxgroup,false); panel2.add(Name); panel2.add(textName); panel2.add(lSex); panel2.add(box1); panel2.add(box2); centerPanel.add(panel2); //panel3 Panel panel3=new Panel(); Birthday=new Label("生日"); ychoice=new Choice(); ychoice.add("1989年"); ychoice.add("1990年"); mchoice=new Choice(); mchoice.add("11月"); mchoice.add("12月"); dchoice=new Choice(); dchoice.add("11日"); dchoice.add("12日"); ychoice.addItemListener(this); mchoice.addItemListener(this); dchoice.addItemListener(this); panel3.add(Birthday); panel3.add(ychoice); panel3.add(mchoice); panel3.add(dchoice); centerPanel.add(panel3); //panel4 Panel panel4=new Panel(); panel4.setLayout(new GridLayout(2,5)); Hobby=new Label("興趣"); check1=new Checkbox("電影",false); check2=new Checkbox("閱讀",false); check3=new Checkbox("程式設計",false); check4=new Checkbox("網路",false); check5=new Checkbox("藝術",false); check6=new Checkbox("旅遊",false); check7=new Checkbox("遊戲",false); check8=new Checkbox("其他",false); check1.addItemListener(this); check2.addItemListener(this); check3.addItemListener(this); check4.addItemListener(this); check5.addItemListener(this); check6.addItemListener(this); check7.addItemListener(this); check8.addItemListener(this); panel4.add(Hobby); panel4.add(check1); panel4.add(check2); panel4.add(check3); panel4.add(check4); panel4.add(new Label()); panel4.add(check5); panel4.add(check6); panel4.add(check7); panel4.add(check8); centerPanel.add(panel4); areaInform=new TextArea("",3,30); centerPanel.add(areaInform); add(centerPanel); Panel bPanel=new Panel(); bEnter=new Button("確定"); bCancel=new Button("取消"); bEnter.addActionListener(this); bCancel.addActionListener(this); bPanel.add(bEnter); bPanel.add(bCancel); add(bPanel,BorderLayout.SOUTH); setSize(260,320); setVisible(true); } public void actionPerformed(ActionEvent ae) { areaInform.setText(""); if(ae.getSource()==bEnter) { if(flag==true) { flag=false; areaInform.append("姓名:"+textName.getText()+"\n"); areaInform.append("性別:"+lSex+"\n"); areaInform.append("生日:"+Year+Month+Day+"\n"); areaInform.append("愛好:"+Film+Reading+NetWork+Program+Art+Tourism+Game+Others+"\n"); Inform.setText("請再輸入一次密碼,然後單擊確定"); strkey=textKey.getText(); textKey.setText(""); } else { if(textKey.getText().equals(strkey)) Inform.setText("註冊成功"); else Inform.setText("請再一次輸入密碼,然後單擊確定"); } } else { System.exit(0); } } public void itemStateChanged(ItemEvent ie) { if(ie.getItemSelectable()==ychoice) Year=ychoice.getSelectedItem(); if(ie.getItemSelectable()==mchoice) Month=mchoice.getSelectedItem(); if(ie.getItemSelectable()==ychoice) Day=dchoice.getSelectedItem(); if(box1.getState()) Sex=box1.getLabel(); if(box2.getState()) Sex=box2.getLabel(); if(check1.getState()) Film=check1.getLabel(); else Film=""; if(check2.getState()) Reading=check2.getLabel(); else Reading=""; if(check3.getState()) NetWork=check3.getLabel(); else NetWork=""; if(check4.getState()) Program=check4.getLabel(); else Program=""; if(check5.getState()) Art=check5.getLabel(); else Art=""; if(check6.getState()) Tourism=check6.getLabel(); else Tourism=""; if(check7.getState()) Game=check7.getLabel(); else Game=""; if(check8.getState()) Others=check8.getLabel(); else Others=""; } public static void main(String[] args) { // TODO Auto-generated method stub new test4(); } }