需求:实现如下所示的简单加法器
要求实现简单的加法运算,并可以关闭窗口。
分析:该加法器由 文本框 --> 标签(+)--> 文本框 --> 按钮(=)--> 文本框组成,要实现上述功能,需要
(1)选择创建合适的布局管理器
(2)对文本框中的输入信息进行转换—加法需是数字的计算,而文本框中的是字符串String
(3)等号(=)按钮的操作——需设计事件监听器,对事件(相加)进行处理【可与2合并】
(4)界面的关闭操作——设计一个窗口监听器即可
处理操作:
1、选择Flow布局格式
<span style="white-space:pre"> </span>Frame f = new Frame("简单加法器");
<span style="white-space:pre"> </span>f.setLayout(new FlowLayout());
2、文本框中的数据的处理以及对按钮的操作
class Count implements ActionListener{
public void actionPerformed(ActionEvent e){
String str1, str2;
str1 = TestTextField.tf1.getText();
str2 = TestTextField.tf2.getText();
int num1, num2, num3;
num1 = Integer.parseInt(str1);
num2 = Integer.parseInt(str2);
num3 = num1+num2;
Integer it = new Integer(num3);
String str3 = it.toString(num3);
TestTextField.tf3.setText(str3);
}
3、关闭界面
class B extends WindowAdapter{ //用来关闭窗口
public void windowClosing(WindowEvent e){
System.exit(-1);
}
}
4、启动类中需要进行对象的生成、添加等一系列操作
<span style="white-space:pre"> </span>f.add(tf1);
f.add(la);
f.add(tf2);
f.add(bu);
f.add(tf3);
bu.addActionListener(new Count());
f.pack();
f.addWindowListener(new B());
f.setVisible(true);
通过上述操作,就基本上实现了一个简单的加法器。这个加法器还是很“简陋”的,没有对小数、非法输入等进行处理,健壮性不够,不过重在理解布局管理器的一些基本操作和应用。
注意:在关闭窗口操作的程序编写上卡了好久,最后发现竟然是没有把包导入,看样子上次对eclipse自动导入包的功能有些理解错了,它是在你设置了自动提示功能并采取了它的提示之后才会自动导入包的。如果输入错误,是不会导入正确的包的。另外,字符串和数字之间的转换比较重要,方法也有很多,另开一贴总结一下。