课外天地 李树青学习天地Java程序语言课件 → 作业之五:计算器


  共有17132人关注过本帖树形打印复制链接

主题:作业之五:计算器

帅哥哟,离线,有人找我吗?
admin
  1楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 管理员
等级:管理员 帖子:1940 积分:26616 威望:0 精华:34 注册:2003/12/30 16:34:32
作业之五:计算器  发帖心情 Post By:2008/12/6 16:58:23 [只看该作者]

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Exec {
        public static void main(String args[]) {
                MyFrame m = new MyFrame();
                m.setVisible(true);
                m.pack();
        }
}

class MyFrame extends JFrame implements ActionListener {
        JTextField jtf = new JTextField();

        JPanel jp = new JPanel();

        JButton[] jb = new JButton[10];

        JButton jbEqual = new JButton("=");

        JButton jbAdd = new JButton("+");

        JButton jbMinus = new JButton("-");

        JButton jbMultiply = new JButton("*");

        JButton jbDivide = new JButton("/");

        int number1 = 0;

        int number2 = 0;

        char operation = ' ';

        public MyFrame() {
                super("计算器");
                setLayout(new BorderLayout());
                jtf.setHorizontalAlignment(JTextField.RIGHT);
                add(jtf, BorderLayout.NORTH);
                add(jp, BorderLayout.CENTER);
                jp.setLayout(new GridLayout(5, 3));
                for (int i = 0; i < jb.length; i++) {
                        jb[i] = new JButton(String.valueOf(i));
                        jb[i].addActionListener(this);
                        jp.add(jb[i]);
                }
                jp.add(jbAdd);
                jbAdd.addActionListener(this);
                jp.add(jbMinus);
                jbMinus.addActionListener(this);
                jp.add(jbMultiply);
                jbMultiply.addActionListener(this);
                jp.add(jbDivide);
                jbDivide.addActionListener(this);
                jp.add(jbEqual);
                jbEqual.addActionListener(this);
        }

        public void actionPerformed(ActionEvent arg0) {
                JButton jb = (JButton) arg0.getSource();
                if (jb == jbAdd) {
                        number1 = Integer.parseInt(jtf.getText());
                        jtf.setText("");
                        operation = '+';
                } else if (jb == jbMinus) {
                        number1 = Integer.parseInt(jtf.getText());
                        jtf.setText("");
                        operation = '-';
                } else if (jb == jbMultiply) {
                        number1 = Integer.parseInt(jtf.getText());
                        jtf.setText("");
                        operation = '*';
                } else if (jb == jbDivide) {
                        number1 = Integer.parseInt(jtf.getText());
                        jtf.setText("");
                        operation = '/';
                } else if (jb == jbEqual) {
                        number2 = Integer.parseInt(jtf.getText());
                        switch (operation) {
                        case '+':
                                jtf.setText(String.valueOf(number1 + number2));
                                break;
                        case '-':
                                jtf.setText(String.valueOf(number1 - number2));
                                break;
                        case '*':
                                jtf.setText(String.valueOf(number1 * number2));
                                break;
                        case '/':
                                jtf.setText(String.valueOf(number1 / number2));
                                break;
                        default:
                                break;
                        }
                        operation = ' ';
                } else {
                        jtf.setText(jtf.getText() + jb.getText());
                }

        }

}

[此贴子已经被作者于2010-12-12 08:29:03编辑过]

 回到顶部