java GUI实现加法计算器
程序员文章站
2022-04-03 18:31:34
本文实例为大家分享了java gui实现加法计算器的具体代码,供大家参考,具体内容如下1.写出一个简易计算器需要的组件2.先出监听事件类public class textcalculator01 {...
本文实例为大家分享了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(""); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。