importjava.awt.BorderLayout;importjava.awt.Color;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JOptionPane;importjavax.swing.JPanel;importjavax.swing.JTextField;importjavax.swing.border.TitledBorder;public class Jisuanqi extends JFrame implementsActionListener{privateJTextField reasult;privateJButton btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn0,
btnAC,btnAdd,btnSub,btnReasult,btnD,
btnAbout,btnCancel;private booleanadd,sub,end,s,c;privateString str;private doublenum1,num2;publicJisuanqi(){
JPanel p1=newJPanel();
JPanel p2=newJPanel();
JPanel p3=newJPanel();
TitledBorder tb=new TitledBorder("OutPut");tb.setTitleColor(Color.YELLOW);
btnAbout=new JButton("Producer");
btnCancel=new JButton("Close");
btnCancel.addActionListener(newActionListener(){public voidactionPerformed(ActionEvent ee){
System.exit(0);
}
});
btnAbout.addActionListener(newActionListener(){public voidactionPerformed(ActionEvent ee){
JOptionPane.showMessageDialog(null, "刘道广", "制作人",JOptionPane.INFORMATION_MESSAGE);
}
});
p3.add(btnAbout);
p3.add(btnCancel);
reasult= new JTextField("0",20);
reasult.setEditable(false);
reasult.setHorizontalAlignment(JTextField.RIGHT);
reasult.setForeground(Color.BLUE);
p1.setBorder(tb);
p1.add(reasult);
btn0=new JButton("0"); btn0.addActionListener(this);
btn1=new JButton("1"); btn1.addActionListener(this);
btn2=new JButton("2"); btn2.addActionListener(this);
btn3=new JButton("3"); btn3.addActionListener(this);
btn4=new JButton("4"); btn4.addActionListener(this);
btn5=new JButton("5"); btn5.addActionListener(this);
btn6=new JButton("6"); btn6.addActionListener(this);
btn7=new JButton("7"); btn7.addActionListener(this);
btn8=new JButton("8"); btn8.addActionListener(this);
btn9=new JButton("9"); btn9.addActionListener(this);
btnD=new JButton("."); btnD.addActionListener(this); btnD.setForeground(Color.GREEN);
btnAC=new JButton("AC"); btnAC.addActionListener(this); btnAC.setBackground(Color.RED);
btnAdd=new JButton("+"); btnAdd.addActionListener(this); btnAdd.setForeground(Color.CYAN);
btnSub=new JButton("-"); btnSub.addActionListener(this); btnSub.setForeground(Color.CYAN);
btnReasult=new JButton("="); btnReasult.addActionListener(this); btnReasult.setForeground(Color.RED);
p2.add(btn1);p2.add(btn2);p2.add(btn3);p2.add(btn4);p2.add(btn5);
p2.add(btn6);p2.add(btn7);p2.add(btn8);p2.add(btn9);p2.add(btn0);
p2.add(btnD);p2.add(btnAC);p2.add(btnAdd);p2.add(btnSub);p2.add(btnReasult);
p2.setLayout(new GridLayout(5,3));
add(p1,BorderLayout.NORTH);
add(p2,BorderLayout.CENTER);
add(p3,BorderLayout.SOUTH);
}public void num(inti){
String s=null;
s=String.valueOf(i);if(end){
reasult.setText("0");
end=false;
}if((reasult.getText()).equals("0")){
reasult.setText(s);
}else{
str=reasult.getText()+s;
reasult.setText(str);
}
}public voidactionPerformed(ActionEvent e){if(e.getSource()==btn1) num(1);else if(e.getSource()==btn2) num(2);else if(e.getSource()==btn3) num(3);else if(e.getSource()==btn4) num(4);else if(e.getSource()==btn5) num(5);else if(e.getSource()==btn6) num(6);else if(e.getSource()==btn7) num(7);else if(e.getSource()==btn8) num(8);else if(e.getSource()==btn9) num(9);else if(e.getSource()==btn0) num(0);else if(e.getSource()==btnAdd){
sign(1);
btnD.setEnabled(true);
}else if(e.getSource()==btnSub){
sign(2);
btnD.setEnabled(true);
}else if(e.getSource()==btnAC){
btnD.setEnabled(true);
reasult.setText("0");
}else if(e.getSource()==btnD){
str=reasult.getText();
str+='.';
reasult.setText(str);
btnD.setEnabled(false);
}else if(e.getSource()==btnReasult){
btnD.setEnabled(true);
num2=Double.parseDouble(reasult.getText());if(add){
num1=num1+num2;
}else if(sub){
num1=num1-num2;
}
reasult.setText(String.valueOf(num1));
end=true;
}
}public void sign(ints){if(s==1){
add=true;
sub=false;
}else if(s==2){
add=false;
sub=true;
}
num1=Double.parseDouble(reasult.getText());
end=true;
}public static voidmain(String[] args){
Jisuanqi j=newJisuanqi();
j.setTitle("+/-简易计算器");
j.setLocation(500, 280);
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
j.setResizable(false);
j.pack();
j.setVisible(true);
}
}