java GUI实现加法计算器
作者:今天不写代码
这篇文章主要为大家详细介绍了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(""); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。