importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
importjava.applet.*;
importjava.net.URL;
publicclassCalculatorextendsJFrame{
privateJTextFieldt1=newJTextField(11),t2=newJTextField(11),
t3=newJTextField(20);
privateString[]sign={\"\",\"-\",\"*\",\"/\"};
privateJComboBoxcomboBox=newJComboBox(sign);
privateJButtonb1=newJButton(\"=\");
privateJButtonb2=newJButton(\"清除\");
privateJButtonb3=newJButton(\"退出\");
publicCalculator(Stringtitle){
super(title);
t3.setEditable(false);
ContainercontentPane=getContentPane();
contentPane.setLayout(newFlowLayout());
contentPane.add(t1);
contentPane.add(comboBox);
contentPane.add(t2);
contentPane.add(b1);
contentPane.add(t3);
contentPane.add(b2);
contentPane.add(b3);
actLisal=newactLis();
b1.addActionListener(al);
b2.addActionListener(al);
b3.addActionListener(al);
super.setBounds(460,250,400,140);
super.setResizable(false);
super.setVisible(true);
}
classactLisimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==b1){
floatx,y;//操作数变量
doubleresult=0;
try{//异常捕获机制
x=Float.parseFloat(t1.getText());//将字符串数据转换成浮点型数据
y=Float.parseFloat(t2.getText());
if(comboBox.getSelectedIndex()==0)//运算符为\"\"
result=xy;
elseif(comboBox.getSelectedIndex()==1)//运算符为\"-\"
result=x-y;
elseif(comboBox.getSelectedIndex()==2)//运算符为\"*\"
result=x*y;
elseif(comboBox.getSelectedIndex()==3)//运算符为\"/\"
result=x/y;
t3.setText(result\"\");
}catch(Exceptionee){
t3.setText(\"数据错误\");
}//捕获异常,数据错误时,显示信息
}elseif(e.getSource()==b2){
t1.setText(\"\");
comboBox.setSelectedIndex(0);
t2.setText(\"\");
t3.setText(\"\");
}elseif(e.getSource()==b3){
System.exit(0);
}
}
}
publicstaticvoidmain(String[]args){
Calculatorc=newCalculator(\"四则运算\");
c.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
|