java 编写 简易计算器

正在学习Java  
有不足之处 还望指教  -------镇妖塔
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;

class ex2 {
	
	JButton btn0;
	JButton btn1;
	JButton btn2;
	JButton btn3;
	JButton btn4;
	JButton btn5;
	JButton btn6;
	JButton btn7;
	JButton btn8;
	JButton btn9;
	JButton btnDian;
	JButton btnJia;
	JButton btnJian;
	JButton btnCheng;
	JButton btnChu;
	JButton btnQing;
	JButton btnShuchu;
	JFrame frm;
	JTextField tf;
	
	
	StringBuffer sb; // 定义一个变量,存储文本框里面的数值
        Integer number1; // 加数
        Integer number2; // 被加数
        Integer sum; // 和
        boolean b; // 运算符是否被点击
    	int a;  //用于分辨运算
	
	// 构造方法
    ex2() {
        // 初始化原始数据
        initData();
        // 控件初始化
        initUI();
    }
	//数据初始化
	private void initData() {
        sb = new StringBuffer("");
        number1 = 0;
        number2 = 0;
        sum = 0;
        b = false;
		a = 0;
		
    }
	
	private void initUI() {
		//窗口
		frm = new JFrame("计算器");
		frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frm.setSize(385, 310); // 设置窗口的宽高
	        frm.setLocation(100, 100); // 设置窗口的起始点
	        frm.setLayout(null);
	        frm.setResizable(false); // 设置窗口一旦创建好,不能在改变大小
		frm.setVisible(true);
			
		//文本框
		tf = new JTextField(); 
		tf.setText("");
	        tf.setBounds(20, 20, 330, 33);
	        tf.setHorizontalAlignment(JTextField.RIGHT);
	        tf.setBackground(Color.WHITE);
	        frm.add(tf);
			
		// 创建组件并添加到容器中
	        btn0 = new JButton("0");
	        btn0.setBounds(20, 220, 120, 33);
	        btn0.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO 自动生成的方法存根
				if (b) {
                    sb = new StringBuffer("");
                    b = false;
                }
	            sb.append(btn0.getText());
	            tf.setText(sb.toString());
			}
		});
	        
	        btn1 = new JButton("1");
		btn1.setBounds(20, 70, 50, 33);
		btn1.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO 自动生成的方法存根
				if (b) {
                    sb = new StringBuffer("");
                    b = false;
                }
	            sb.append(btn1.getText());
	            tf.setText(sb.toString());
			}
		});
			
		btn2 = new JButton("2");
		btn2.setBounds(90, 70, 50, 33);
		btn2.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO 自动生成的方法存根
				if (b) {
                    sb = new StringBuffer("");
                    b = false;
                }
	            sb.append(btn2.getText());
	            tf.setText(sb.toString());
			}
		});
			
		btn3 = new JButton("3");
		btn3.setBounds(160, 70, 50, 33);
		btn3.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO 自动生成的方法存根
				if (b) {
                    sb = new StringBuffer("");
                    b = false;
                }
	            sb.append(btn3.getText());
	            tf.setText(sb.toString());
			}
		});
			
		btn4 = new JButton("4");
		btn4.setBounds(20, 120, 50, 33);
		btn4.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO 自动生成的方法存根
				if (b) {
                    sb = new StringBuffer("");
                    b = false;
                }
	            sb.append(btn4.getText());
	            tf.setText(sb.toString());
			}
		});
			
		btn5 = new JButton("5");
		btn5.setBounds(90, 120, 50, 33);
		btn5.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO 自动生成的方法存根
				if (b) {
                    sb = new StringBuffer("");
                    b = false;
                }
	            sb.append(btn5.getText());
	            tf.setText(sb.toString());
			}
		});
			
		btn6 = new JButton("6");
		btn6.setBounds(160, 120, 50, 33);
		btn6.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO 自动生成的方法存根
				if (b) {
                    sb = new StringBuffer("");
                    b = false;
                }
	            sb.append(btn6.getText());
	            tf.setText(sb.toString());
			}
		});
			
		btn7 = new JButton("7");
		btn7.setBounds(20, 170, 50, 33);
		btn7.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO 自动生成的方法存根
				if (b) {
                    sb = new StringBuffer("");
                    b = false;
                }
	            sb.append(btn7.getText());
	            tf.setText(sb.toString());
			}
		});
			
		btn8 = new JButton("8");
		btn8.setBounds(90, 170, 50, 33);
		btn8.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO 自动生成的方法存根
				if (b) {
                    sb = new StringBuffer("");
                    b = false;
                }
	            sb.append(btn8.getText());
	            tf.setText(sb.toString());
			}
		});
			
		btn9 = new JButton("9");
		btn9.setBounds(160, 170, 50, 33);
		btn9.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO 自动生成的方法存根
				if (b) {
                    sb = new StringBuffer("");
                    b = false;
                }
	            sb.append(btn9.getText());
	            tf.setText(sb.toString());
			}
		});
			
		btnDian = new JButton(".");
		btnDian.setBounds(160, 220, 50, 33);
		btnDian.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO 自动生成的方法存根
				if (b) {
                    sb = new StringBuffer("");
                    b = false;
                }
				sb.append(btnDian.getText());
	            tf.setText(sb.toString());
			}
		});
			
		btnJia = new JButton("+");
		btnJia.setBounds(230, 170, 50, 83);
		btnJia.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO 自动生成的方法存根
				b = true;
				a = 1;
	            number1 = new Integer(tf.getText());
				tf.setText(number1.toString());
			}
		});
			
		btnJian = new JButton("-");
		btnJian.setBounds(300, 120, 50, 33);
		btnJian.addActionListener(new ActionListener() {
	        @Override
	        public void actionPerformed(ActionEvent e) {
	            // TODO 自动生成的方法存根
	            b = true;
				a = 2;
	            number1 = new Integer(tf.getText());
	            tf.setText(number1.toString());
	        }
	    });
			
		btnCheng = new JButton("*");
		btnCheng.setBounds(230, 70, 50, 33);
		btnCheng.addActionListener(new ActionListener() {
	        @Override
	        public void actionPerformed(ActionEvent e) {
	        	// TODO 自动生成的方法存根
	            b = true;
				a = 3;
	            number1 = new Integer(tf.getText());
	            tf.setText(number1.toString());
	        }
	    });
			
		btnChu = new JButton("/");
		btnChu.setBounds(230, 120, 50, 33);
		btnChu.addActionListener(new ActionListener() {
	        @Override
	        public void actionPerformed(ActionEvent e) {
	            // TODO 自动生成的方法存根
	            b = true;
				a = 4;
	            number1 = new Integer(tf.getText());
	            tf.setText(number1.toString());
	        }
	    });
			
		btnQing = new JButton("C");
		btnQing.setBounds(300, 70, 50, 33);
		btnQing.addActionListener(new ActionListener() {   
	        @Override
	        public void actionPerformed(ActionEvent e) {
	            // TODO 自动生成的方法存根
	            initData();
	            tf.setText("");
	        }
	    });
			
		btnShuchu = new JButton("=");
		btnShuchu.setBounds(300, 170, 50, 83);
		btnShuchu.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO 自动生成的方法存根
	                number2 = new Integer(tf.getText());
				switch(a){
					case 1: sum = number1 + number2;break;
					case 2: sum = number1 - number2;break;
					case 3: sum = number1 * number2;break;
					case 4: sum = number1 / number2;break;
				}
				b = false;
				a = 0;
	            tf.setText(sum.toString());
			}
		});
			
		frm.add(btn1);
		frm.add(btn2);
		frm.add(btn3);
		frm.add(btn4);
		frm.add(btn5);
		frm.add(btn6);
		frm.add(btn7);
		frm.add(btn8);
		frm.add(btn9);
		frm.add(btn9);
		frm.add(btn0);
		frm.add(btnQing);
		frm.add(btnDian);
		frm.add(btnJia);
		frm.add(btnJian);
		frm.add(btnShuchu);
		frm.add(btnCheng);
		frm.add(btnChu);
		}
	public static void main(String args []) {
		new ex2();
	}
}


猜你喜欢

转载自blog.csdn.net/aa731679676/article/details/80548000