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.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();


}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值