利用awt与swing进行桌面编程(1)
2009-11-13 22:48
363 查看
一.awt包中常用控件类
1.标签类Label
2.文本框类TextField
3.复选框Checkbox和单选按钮CheckboxGroup
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包的实例
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(); } }
相关文章推荐
- 利用awt与swing进行桌面编程(2)
- 利用awt与swing进行桌面编程(2)
- 利用awt与swing进行桌面编程(1)
- 利用VB.Net 通过Windows Sockets (Winsock)以及多线程编程进行桌面电脑与Pocket PC间的双向通信
- 利用JMF进行多媒体编程
- Java 编程的动态性,第 6 部分: 利用 Javassist 进行面向方面的更改
- 利用MapperReducer的链式编程进行单词统计和过滤敏感词
- 利用JavaScript和正则表达式进行丰富的日期判断(给其它项目组的代码,有比较好的编程风格和注释)
- JavaGUI编程之awt和swing包的概述
- 利用php数组函数进行函数式编程
- 【PB.NET编程系列6】利用JavaScript进行客户端编程
- 利用C#进行Socket通信编程
- 利用Qt进行FTP网络编程
- 利用ADSI对IIS进行编程
- 在系统服务中与桌面进行交互编程实现
- Java GUI编程中AWT/swing/SWT的优缺点
- 利用Unix系统函数进行网络编程(一)
- 利用C#进行Socket通信编程之一
- 利用InstallShield12制作安装包之二:利用InstallScript脚本进行最基本的编程
- 利用Qt进行FTP网络编程