GUI 实现简易计算器

编写代码 TestCalc测试类

package com.xiang.lesson02;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

//简易 计算器
public class TestCalc {
    public static void main(String[] args) {
        new Calculator().loadFrame();
    }
}

//计算器 类
class Calculator extends Frame {

    //属性
    TextField num1, num2, num3;

    //方法
    public void loadFrame() {
//        3 个文本框
        num1 = new TextField(10); //字符数 最大能10个字符
        num2 = new TextField(10); //字符数 最大能10个字符
        num3 = new TextField(20); //字符数 最大能10个字符
//        一个按钮
        Button button = new Button("=");
        button.addActionListener(new MyCalculatorListener(this));
//        一个标签
        Label label = new Label("+");
//        布局
        setLayout(new FlowLayout());

        add(num1);
        add(label);
        add(num2);
        add(button);
        add(num3);

        pack();
        setVisible(true);
        setBackground(Color.yellow);
        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
    }


}

//监听器 类
class MyCalculatorListener implements ActionListener {
    //    需获取计算器这个对象,在一个类中组合另外一个类
    Calculator calculator = null;

    public MyCalculatorListener(Calculator calculator) {
        this.calculator = calculator;
    }

    @Override
    public void actionPerformed(ActionEvent e) {
//        1,获取加数和被加数
//        2, 加法运算后,放入第三个框
        int n1 = Integer.parseInt(calculator.num1.getText());
        int n2 = Integer.parseInt(calculator.num2.getText());
        calculator.num3.setText("" + (n1 + n2));
        //        3,清除前两个框
//        calculator.num1.setText("");
//        calculator.num2.setText("");

    }
}

运行结果

原文地址:https://www.cnblogs.com/d534/p/15109336.html