myDialog.show(); } else if(sou==exitItem) {System.exit(0);} } }
class aboutDialog extends Dialog { public aboutDialog(Frame parent) { super(parent,\信息框\ Panel p1=new Panel(); TextArea ta=new TextArea(10,30); ta.setText(\请写下你的信息\ p1.add(ta); add(\ Panel p2=new Panel(); Button but=new Button(\返回\ p2.add(but); add(\ but.addActionListener(new ActionListener(){public e){setVisible(false);}}); setSize(300,250); } }
public class Exer5_5 { public static void main(String args[]) { Frame fr=new myDialogFrame(); fr.show(); } }
运行该程序后,输出结果如图5-9所示。
编程题
5-1 使用Java Applet编写满足下列要求的程序: (1)含有两个按钮和两个标签; (2)含有文本框和文本区;
17
void actionPerformed(ActionEvent
(3)含有一个按钮具有退出功能; 编写程序如下: import java.awt.*;
import java.awt.event.*;
class pro5_1 extends WindowAdapter implication ActionListener { Frame f; Label la1,la2; Button b1,b2; TextField tf; int tag=0; public static void main(String args[]) { pro5_1 mywin=new pro5_1(); mywin.display(); }
public void display() { f=new Frame(\我的现实窗口\ la1=new Label(\标签1\ la2=new Label(\标签2\ f.add(la1,\ f.add(la2,\ b1=new Button(\现实字符串\ b2=new Button(\退出\ b1.addActionListener(this); f.add(b1,\ b2.addActionListener(this); f.add(b2,\ tf=new TextField(); f.add(tf,\ f.addWindowListener(this); f.setSize(400,200); f.setVisible(true); }
public void actionPerformed(ActionEvent e) { String s1=\这是一个字符串\ String s2=\这是另一个字符串\ if(e.getActionCommand().equals(\退出\ System.exit(0); if(tag==0) { tf.setText(s1); tag=1; }
18
else { tf.setText(s2); tag=0; } }
public void windowClosing(WindowEvent e) { System.exit(0); } }
运行该程序后,输出结果如图5-10所示。
5-2 使用Java Application编写满足下列要求的程序。 (1) 使用GridLayout布局。
(2) 设计一个简单的计算器。包括数字按钮0~9,以及加、减、乘、除、清零、等于运算按钮和一个现
实计算结果的文本区。
请读者参照本书本章5.2程序距离中的例5.1的程序内容进行编写。 5-3 编写一个图形用户界面的Application程序。 (1) 有一个菜单条;
(2) 菜单条中有3个菜单;
(3) 每个菜单有2个菜单项,其中一个菜单项又具有2个菜单子项。 程序内容如下: import java.awt.*;
import java.awt.event.*;
public class pro5_3 extends Frame implements ActionListener,ItemListener { TextField text; public pro5_3() { super(\一个联系菜单的窗口\ setSize(300,200); }
public void init()
19
{ MenuBar myB=new MenuBar(); setMenuBar(myB); Menu m1=new Menu(\文件\ m1.add(new MenuItem(\保存\ m1.addSeparator(); m1.add(\退出\ m1.addActionListener(this); myB.add(m1); Menu m2=new Menu(\编辑\ m2.add(\复制\ m2.addSeparator(); m2.add(\全选\ m2.addActionListener(this); myB.add(m2); Menu m3=new Menu(\插入\ m3.add(\页码\ m3.addSeparator(); Menu m31=new Menu(\图片\ m31.add(\来自剪贴画\ m31.add(\来自图形文件\ m3.add(m31); m3.addActionListener(this); myB.add(m3); text=new TextField(); add(\}
public static void main(String args[]) { pro5_3 myMenu=new pro5_3(); myMenu.init(); myMenu.setVisible(true); }
public void itemStateCharged(ItemEvent e) { text.setText(\状态改变\}
public void actionPerformed(ActionEvent e) { text.setText(e.getActionCommand()); if(e.getActionCommand()==\退出\ System.exit(0); } }
运行该程序后,输出结果如图5-11所示。
20

