正在学习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(); } }