import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Calculater extends JFrame implements ActionListener{
JTextField x;
String preOperater="";
double sum=0;
public Calculater(String title){
super(title);
Container c=getContentPane();
c.setLayout(new BorderLayout());
x=new JTextField(50);
c.add("North",x);
String buttoned[]={"1","2","3","Backspace","=","4","5","6","+","-","7","8","9","*",
"/","o","."};
JPanel operatePanel=new JPanel();
operatePanel.setLayout(new GridLayout(4,5,10,10));
for(int k=0;k<buttoned.length;k++)
{
JButton b=new JButton(buttoned[k]);
operatePanel.add(b);
b.addActionListener(this);
}
c.add("Center",operatePanel);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
void doOperation(){
double m=Double.parseDouble(x.getText());
if(preOperater.equals(""))sum=m;
if(preOperater.equals("+"))sum=sum+m;
if(preOperater.equals("-"))sum=sum-m;
if(preOperater.equals("*"))sum=sum*m;
if(preOperater.equals("/"))sum=sum/m;
}
public void actionPerformed(ActionEvent e){
String currentop=e.getActionCommand();
try{
if(Character.isDigit(currentop.charAt(0))){
x.setText(x.getText()+currentop);
}
else if (currentop.equals(".")){
String s=x.getText();
if(s.indexOf(".")==-1)
{
x.setText(s+".");
}
}
else if(currentop.equals("=")){
doOperation();
if(sum==(int)sum)
x.setText(""+(int)sum);
else
x.setText(""+sum);
preOperater="";
}
else if(currentop.equals("Backspace")){
sum=0;
x.setText("");
preOperater="";
}
else{
doOperation();
x.setText("");
preOperater=currentop;
}
}catch(Exception ex){sum=0;x.setText("");}
x.requestFocus();
}
public static void main(String []a){
JFrame x=new Calculater("Culculater");
x.setSize(520,200);
x.setVisible(true);
}
}
java课程设计之计算器
需积分: 0 89 浏览量
2008-12-26
18:12:16
上传
评论 1
收藏 964B RAR 举报
ttffsb
- 粉丝: 0
- 资源: 1
评论0