java GUI实现加法计算器

发布时间:2021-07-17 21:51 来源:脚本之家 阅读:0 作者:今天不写代码 栏目: 编程语言 欢迎投稿:712375056

本文实例为大家分享了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("");

     }
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

免责声明:本站发布的内容(图片、视频和文字)以原创、来自本网站内容采集于网络互联网转载等其它媒体和分享为主,内容观点不代表本网站立场,如侵犯了原作者的版权,请告知一经查实,将立刻删除涉嫌侵权内容,联系我们QQ:712375056,同时欢迎投稿传递力量。