Rss & SiteMap

课外天地 李树青 http://www.njcie.com

李树青 论坛 南京 财经 课外天地
共1 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:作业之五:计算器

1楼
admin 发表于: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编辑过]
共1 条记录, 每页显示 10 条, 页签: [1]

Copyright ©2002 - 2016 课外天地.Net
Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 2 queries.