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.JPanel;
import javax.swing.JTextField;
public class Test extends JFrame {
JPanel showPanel;
JPanel contentPanel;
JTextField showTextField;
JButton button;
String[] name;
int margin = 10;
int buttonWidth = 60;
int buttonHeigh = 60;
double a;
double b;
double result;
int flag=-1;
public Test() {
initComponent();
showTextField = new JTextField();
// 展示面板的布局
showPanel.setLayout(null);
showTextField.setBounds(20, 10, 270, 50);
showPanel.add(showTextField);
// 主面板的布局
contentPanel.setLayout(null);
// 主面板上添加普通按钮
for (int x = 0; x < 4; x++) {
for (int y = 0; y < 4; y++) {
int index = x * 4 + y;
button = new JButton(name[index]);
button.setBounds( margin+y * (buttonWidth + margin), 30+x
* (buttonHeigh + margin), buttonWidth, buttonHeigh);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JButton button = (JButton) e.getSource();
if(button.getText().equals("+")||button.getText().equals("-")||
button.getText().equals("*")||button.getText().equals("/")
){
//判断四则运算
if(button.getText().equals("+")) flag=0;
else if(button.getText().equals("-")) flag=1;
else if(button.getText().equals("*")) flag=2;
else if(button.getText().equals("/")) flag=3;
a=Double.parseDouble(showTextField.getText());
showTextField.setText("");
}
else if(button.getText().equals("=")){
b=Double.parseDouble(showTextField.getText());
switch(flag){
case 0: result=a+b; break;
case 1: result=a-b; break;
case 2: result=a*b; break;
case 3: result=a/b; break;
default: break;
}
//显示结果
showTextField.setText("="+result);
}
else{
showTextField.setText(showTextField.getText()+button.getText());
}
}
});
contentPanel.add(button);
}
}
this.setLayout(null);
showPanel.setBounds(0, 0, 320, 70);
contentPanel.setBounds(0, 50, 330, 330);
contentPanel.setBackground(Color.LIGHT_GRAY);
this.add(showPanel);
this.add(contentPanel);
this.setSize(320, 400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(this);
this.setVisible(true);
}
public void initComponent() {
name = new String[] { "7", "8", "9", "/", "4", "5", "6", "*",
"1", "2", "3", "-", "0", ".", "+", "=" };
// 创建组件
showPanel = new JPanel();
contentPanel = new JPanel();
}
}