java GUI实现加法计算器

网友投稿 258 2022-10-27


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("");

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:思科WLC5508 7.4.121 版本 BUG
下一篇:MA5620与U1960链接配置
相关文章

 发表评论

暂时没有评论,来抢沙发吧~