1. import java.awt.*;
    2. import java.awt.event.ActionEvent;
    3. import java.awt.event.ActionListener;
    4. //简易计算器
    5. public class TestCalc {
    6. public static void main(String[] args) {
    7. new Calculator().loadFrame();
    8. }
    9. }
    10. //计算器类
    11. class Calculator extends Frame{
    12. //属性
    13. TextField field1;
    14. TextField field2;
    15. TextField field3;
    16. public void loadFrame() {
    17. //3个文本框
    18. field1 = new TextField(10);//字符数
    19. field2 = new TextField(10);//字符数
    20. field3 = new TextField(20);//字符数
    21. //1个按钮
    22. Button button = new Button("=");
    23. //按钮添加事件
    24. button.addActionListener(new MycalculatorListener(this));
    25. //1个标签
    26. Label label = new Label("+");
    27. //布局
    28. setLayout(new FlowLayout());
    29. add(field1);
    30. add(label);
    31. add(field2);
    32. add(button);
    33. add(field3);
    34. pack();
    35. setVisible(true);
    36. }
    37. }
    38. //改为内部类更为简洁
    39. //监听器类
    40. class MycalculatorListener implements ActionListener{
    41. //获取计算器这个对象,在一个类中组合另外一个类
    42. Calculator calculator = null;
    43. //获取三个变量
    44. public MycalculatorListener(Calculator calculator){
    45. this.calculator = calculator;
    46. }
    47. @Override
    48. public void actionPerformed(ActionEvent e) {
    49. //1. 获得加数和被加数
    50. //field1.getText()为String类型
    51. int n1 = Integer.parseInt(calculator.field1.getText());
    52. int n2 = Integer.parseInt(calculator.field2.getText());
    53. //2. 将这个值加法运算后,放到第三个框
    54. calculator.field3.setText("" + (n1 + n2));
    55. //清除前两个框
    56. calculator.field1.setText("");
    57. calculator.field2.setText("");
    58. }
    59. }

    image.png
    image.png