主题:[讨论]swing 编程问题
为甚麽结果总是 “错误数据”? 出现了什么异常啊?
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class Computer {
JFrame jf;
JPanel jp;
TextField tf1,tf2,tf3,tf4;
JLabel jlb;
Button btn;
String str1,str2,str3,str4;
float d1,d2;
double d4;
public Computer() {
jf = new JFrame("计算");
jp = new JPanel();
tf1 = new TextField();
tf2 = new TextField();
tf3 = new TextField();
tf4 = new TextField();
jlb = new JLabel("=");
btn = new Button("计算");
jp.setLayout(new FlowLayout());
jp.add(tf1); jp.add(tf2); jp.add(tf3);
jp.add(jlb); jp.add(tf4); jp.add(btn);
jf.add(jp);
jf.setSize(200,100);
jf.setVisible(true);
btn.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
str1 = tf1.getText();
str2 = tf2.getText();
str3 = tf3.getText();
d1 = Float.parseFloat(str1);
d2 = Float.parseFloat(str2);
if(str3.equals("+")) d4 = d1+d2;
else if(str3.equals("-")) d4 = d1-d2;
else if(str3.equals("*")) d4 = d1*d2;
else if(str3.equals("/")) d4 = d1/d2;
tf4.setText(Double.toString(d4));
}
catch(Exception e1){
tf4.setText("错误数据");
}
}
});
}
public static void main(String[] args)
{
Computer cm = new Computer();
}
}
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class Computer {
JFrame jf;
JPanel jp;
TextField tf1,tf2,tf3,tf4;
JLabel jlb;
Button btn;
String str1,str2,str3,str4;
float d1,d2;
double d4;
public Computer() {
jf = new JFrame("计算");
jp = new JPanel();
tf1 = new TextField();
tf2 = new TextField();
tf3 = new TextField();
tf4 = new TextField();
jlb = new JLabel("=");
btn = new Button("计算");
jp.setLayout(new FlowLayout());
jp.add(tf1); jp.add(tf2); jp.add(tf3);
jp.add(jlb); jp.add(tf4); jp.add(btn);
jf.add(jp);
jf.setSize(200,100);
jf.setVisible(true);
btn.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
str1 = tf1.getText();
str2 = tf2.getText();
str3 = tf3.getText();
d1 = Float.parseFloat(str1);
d2 = Float.parseFloat(str2);
if(str3.equals("+")) d4 = d1+d2;
else if(str3.equals("-")) d4 = d1-d2;
else if(str3.equals("*")) d4 = d1*d2;
else if(str3.equals("/")) d4 = d1/d2;
tf4.setText(Double.toString(d4));
}
catch(Exception e1){
tf4.setText("错误数据");
}
}
});
}
public static void main(String[] args)
{
Computer cm = new Computer();
}
}