您好,欢迎访问三七文档
第9章AWT组件库按钮按钮(Button)是Java图形用户界面的基本组件之一。按钮有两个构造方法:publicButton()publicButton(Stringlabel)构造一个不带标签的按钮构造一个带标签的按钮按钮例:Buttonb=newButton(“Sample”);//构造的是一个标签为“Sample”的按钮当用户用鼠标单击按钮时,AWT事件处理系统将向按钮发送一个ActionEvent事件对象。应用程序需要为按钮注册事件监听程序并实现ActionListenner接口。程序9-1目标:每当单击按钮,会在屏幕上交替显示出两条不同信息。importjava.awt.*;importjava.awt.event.*;classButtonExampleextendsWindowAdapterimplementsActionListener{Framef;Buttonb;TextFieldtf;inttag=0;publicstaticvoidmain(Stringargs[]){ButtonExamplebe=newButtonExample();be.go();}publicvoidgo(){f=newFrame(ButtonExample);b=newButton(Sample);b.addActionListener(this);f.add(b,South);tf=newTextField();f.add(tf,Center);f.addWindowListener(this);f.setSize(300,150);f.setVisible(true);}//实现ActionListener接口中的actionPerformed()方法publicvoidactionPerformed(ActionEvente){Strings1=YouhavepressedtheButton!;Strings2=Youdoanothertime!;if(tag==0){tf.setText(s1);tag=1;}else{tf.setText(s2);tag=0;}}/*覆盖WindowAdapter类中的windowClosing()方法*/publicvoidwindowClosing(WindowEvente){//结束程序运行System.exit(0);}}复选框复选框(Checkbox)是一个带标签的小方框,具有“开”与“关”两种状态可供用户选择。用户对复选框的操作将引发ItemEvent事件,该事件需要由实现了ItemListener接口的类处理。复选框在ItemEvent类中定义了getStateChange()方法,通过该方法可以判断用户对复选框所执行的操作是“开”还是“关”,其返回值为常量Item.DESELECTED或Item.SELECTED。ItemEvent类中还定义了getItem()方法,该方法返回值为一字符串,表示用户操作所涉及的复选框的标签内容。复选框复选框的三种基本构造方法:(1)publicCheckbox()构造一个不带标签、初始状态为“关”的复选框。(2)publicCheckbox(Stringlabel)构造一个带标签、初始状态为“关”的复选框。(3)publicCheckbox(Stringlabel,booleanstate)构造一个带标签的复选框,其初始状态由boolean型变量state决定。复选框例如:Checkboxone=newCheckbox(“One”,false);/*构造一个标签为“One”、初始状态为“关”的复选框。*/程序9-2:目标:创建名为one,two,three的三个复选框,并将这三个复选框放入框架中部的面板中。importjava.awt.*;importjava.awt.event.*;classCheckboxExampleextendsWindowAdapterimplementsItemListener{Framef;Panelp;Checkboxone,two,three;TextFieldtf;publicstaticvoidmain(Stringargs[]){CheckboxExamplece=newCheckboxExample();ce.go();}publicvoidgo(){f=newFrame(CheckboxExample);p=newPanel();one=newCheckbox(One);two=newCheckbox(Two);three=newCheckbox(Three);//注册事件监听程序one.addItemListener(this);two.addItemListener(this);three.addItemListener(this);创建三个复选框p.add(one);p.add(two);p.add(three);f.add(p,Center);tf=newTextField();f.add(tf,South);//注册事件监听程序f.addWindowListener(this);f.setSize(300,150);f.setVisible(true);}/*实现ItemListener接口中的itemStateChanged()方法*/publicvoiditemStateChanged(ItemEvente){Stringstate=deselected;Stringst;if(e.getStateChange()==ItemEvent.SELECTED){state=selected;}st=e.getItem()++state;tf.setText(st);}/*覆盖WindowAdapter类中的windowClosing()方法*/publicvoidwindowClosing(WindowEvente){//结束程序运行System.exit(0);}}复选框组——单选按钮复选框的两种特殊构造方法:publicCheckbox(Stringlabel,booleanstate,CheckboxGroupgroup)publicCheckbox(Stringlabel,CheckboxGroupgroup,booleanstate)CheckboxGroup类型的参数:可以创建出多个从属于同一个复选框组(Check-boxGroup)的、带标签的复选框,复选框的初始状态由boolean型变量state指定。复选框组——单选按钮例如:CheckboxGroupcbg=newCheckboxGroup();Checkboxone=newCheckbox(One,cbg,false);Checkboxtwo=newCheckbox(Two,cbg,false);Checkboxthree=newCheckbox(Three,cbg,true);复选框组——单选按钮创建了三个从属于复选框组cbg的复选框,其中前两个的初始状态为“关”,第三个的初始状态为“开”,它们的标签分别为One,Two和Three。复选框组——单选按钮在某一时刻,同一组的复选框只能有一个被选为“开”状态,因此,复选框实际上已经变成了单选按钮(RadioButton)。这时,复选框的外观会有所改变,标签前的小方框将变成圆圈。程序9-3:目标:构造三个从属于cbg复选框组的复选框(也可以叫单选按钮)。importjava.awt.*;importjava.awt.event.*;classCheckboxGroupExampleextendsWindowAdapterimplementsItemListener{Framef;Panelp;CheckboxGroupcbg;Checkboxone,two,three;TextFieldtf;publicstaticvoidmain(Stringargs[]){CheckboxGroupExamplece=newCheckboxGroupExample();ce.go();}publicvoidgo(){f=newFrame(CheckboxGroupExample);p=newPanel();cbg=newCheckboxGroup();one=newCheckbox(One,cbg,false);two=newCheckbox(Two,cbg,false);three=newCheckbox(Three,cbg,true);//注册事件监听程序one.addItemListener(this);two.addItemListener(this);three.addItemListener(this);创建三个从属于同一个组的复选框p.add(one);p.add(two);p.add(three);f.add(p,Center);tf=newTextField();tf.setText(Threeselected);f.add(tf,South);//注册事件监听程序f.addWindowListener(this);f.setSize(300,150);f.setVisible(true);}/*实现ItemListener接口中的itemStateChanged()方法*/publicvoiditemStateChanged(ItemEvente){Stringst;st=e.getItem()+“selected”;tf.setText(st);}/*覆盖WindowAdapter类中的windowClosing()方法*/publicvoidwindowClosing(WindowEvente){System.exit(0);}}选择框选择框(Choice)是一个下拉式菜单。用户对选择框的操作将引发ItemEvent事件,该事件需要由实现了ItemListener接口的类进行处理。其构造方法为:publicChoice()选择框注意刚构造出来的选择框中并没有实际内容,需要使用addItem()方法为其添加新的选项。例如:Choicec=newChoice();c.addItem(“First”);c.addItem(“Second”);c.addItem(“Third”);程序9-4:目标:创建一个选择框。importjava.awt.*;classChoiceExample{Framef;Choicec;Labell;publicstaticvoidmain(Stringargs[]){ChoiceExamplece=newChoiceExample();ce.go();}voidgo(){f=newFrame();f.setLayout(newFlowLayout());l=newLabel(yourchoice:);f.add(l);c=newChoice();c.addItem(First);c.addItem(Second);c.addItem(Third);f.add(c);f.setSize(250,160);f.setVisible(true);}}画布画布(Canvas)是一块空白区域,可用于绘画、输出文本信息或者接收键盘和鼠标输入。构造方法为:publicCanvas()画布画布可对各类事件进行监听,要在程序中实现KeyListener,MouseMotionListenerMouseListener等接口。必须调用Canvas类的requestFocus()方法。程序9-5:目标:创建一个画布并实现KeyListener和MouseListener接口。importjava.awt.*;importjava.awt.event.*;importjava.util.*;publicclassMyCanvasimplementsKeyListener,Mo
本文标题:AWT组件的介绍
链接地址:https://www.777doc.com/doc-4795860 .html