java GUI如何实现加法计算器?本篇文章小编给大家分享一下java GUI实现加法计算器代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
1.写出一个简易计算器需要的组件
2.先出监听事件类
public class TextCalculator01 { public static void main(String[] args) { new MyCalculator(); } } //计算器类 class MyCalculator extends Frame{ public MyCalculator() { //三个文本框 TextField num1 = new TextField(10); TextField num2 = new TextField(10); TextField num3 = new TextField(20); //一个等号 Button button = new Button("="); //实现键盘事件监听 button.addActionListener(new MyCalculatorListener(num1,num2,num3)); //一个标签 Label label = new Label("+"); //布局 setLayout(new FlowLayout());//流式布局 add(num1); add(label); add(num2); add(button); add(num3); setVisible(true); pack(); } } //监听器类 class MyCalculatorListener implements ActionListener{ //获得三个数据 private TextField num1,num2,num3; public MyCalculatorListener(TextField num1,TextField num2,TextField num3) { this.num1= num1; this.num2 = num2; this.num3 = num3; } @Override public void actionPerformed(ActionEvent e) { //获得两个加数 int n1 = Integer.parseInt(num1.getText());//转换成int类型 int n2 = Integer.parseInt(num2.getText()); //前面两个数相加,放入第三个框中 num3.setText(""+(n1 + n2)); //清除前两个框的的内容 num1.setText(""); num2.setText(""); } }
按下等号按键,前两个框的内容会被清除,第三个框输出结果3
优化后的写法(完全面向对象)
//简易计算器 public class TextCalculator { public static void main(String[] args) { new Calculator().loadFrame(); } } class Calculator extends Frame{ //属性,三个文件框组件 TextField num1,num2,num3; //方法 public void loadFrame(){ //需要三个文件框 num1 = new TextField(10); num2 = new TextField(10); num3 = new TextField(20); Button button = new Button("="); Label label = new Label("+"); button.addActionListener(new MyCalautor(this)); //布局 setLayout(new FlowLayout());//流式布局 add(num1); add(label); add(num2); add(button); add(num3); setVisible(true); pack(); } } //监听事件 class MyCalautor implements ActionListener{ //获得计算器这个类,在一个类中组合另一个类 Calculator calculator = null; public MyCalautor(Calculator calculator) { this.calculator = calculator; } @Override public void actionPerformed(ActionEvent e) { //1.获得前面两个数字 // 2.把两个数的相加的结果输入到第三个框 //3.把前两个框的内容清除 int n1 = Integer.parseInt(calculator.num1.getText()); int n2 = Integer.parseInt(calculator.num2.getText()); calculator.num3.setText(""+(n1+n2)); calculator.num1.setText(""); calculator.num2.setText(""); } }