工程名随意,文件名必须为Jisuanqi.java
View Code
import java.awt.BorderLayout;
import java.awt.Color;
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.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;
public class Jisuanqi extends JFrame implements ActionListener{
private JTextField reasult;
private JButton btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn0,
btnAC,btnAdd,btnSub,btnReasult,btnD,
btnAbout,btnCancel;
private boolean add,sub,end,s,c;
private String str;
private double num1,num2;
public Jisuanqi(){
JPanel p1=new JPanel();
JPanel p2=new JPanel();
JPanel p3=new JPanel();
TitledBorder tb=new TitledBorder("OutPut");tb.setTitleColor(Color.YELLOW);
btnAbout=new JButton("Producer");
btnCancel=new JButton("Close");
btnCancel.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ee){
System.exit(0);
}
});
btnAbout.addActionListener(new ActionListener(){
public void actionPerformed(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(int i){
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 void actionPerformed(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(int s){
if(s==1){
add=true;
sub=false;
}
else if(s==2){
add=false;
sub=true;
}
num1=Double.parseDouble(reasult.getText());
end=true;
}
public static void main(String[] args){
Jisuanqi j=new Jisuanqi();
j.setTitle("+/-简易计算器");
j.setLocation(500, 280);
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
j.setResizable(false);
j.pack();
j.setVisible(true);
}
}