import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;public class Jisuan extends JFrame {
JTextField a1;
JTextField a2;
JButton b;
JTextField a3;

public Jisuan() {
super("SUM");
Container c = getContentPane();
c.setLayout(new FlowLayout());
a1 = new JTextField(" ", 4);
JLabel a0 = new JLabel("+");
a2 = new JTextField(" ", 4);
c.add(a1);
c.add(a0);
c.add(a2);
b = new JButton("=");
c.add(b);
a3 = new JTextField(" ", 4);
c.add(a3);
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String s1 = a1.getText();
String s2 = a2.getText();
double d1 = Double.parseDouble(s1);
double d2 = Double.parseDouble(s2);
double d3 = d1 + d2;
String s3 = Double.toString(d3);
a3.setText(s3); }
});
} public static void main(String args[]) {
Jisuan app = new Jisuan();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
app.setSize(320, 120);
app.setVisible(true);
}
}

解决方案 »

  1.   


    import java.awt.Container;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JTextField;public class Jisuan extends JFrame {
    JTextField a1;  //把这些当做成员变量
    JTextField a2;
    JButton b;
    JTextField a3;
    public Jisuan() {
    super("SUM");
    Container c = getContentPane();
    c.setLayout(new FlowLayout());
    a1 = new JTextField(" ", 4);
    JLabel a0 = new JLabel("+");
    a2 = new JTextField(" ", 4);
    c.add(a1);
    c.add(a0);
    c.add(a2);
    b = new JButton("=");
    c.add(b);
    a3 = new JTextField(" ", 4);
    c.add(a3);
    b.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    //这里面就不要定义哪些文本框了,
    String s1 = a1.getText();
    String s2 = a2.getText();
    double d1 = Double.parseDouble(s1);
    double d2 = Double.parseDouble(s2);
    double d3 = d1 + d2;
    String s3 = Double.toString(d3);
    a3.setText(s3); }
    });
    } public static void main(String args[]) {
    Jisuan app = new Jisuan(); //注意这个地方错了
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    app.setSize(320, 120);
    app.setVisible(true);
    }
    }上面的给字体加红不知道怎么没有显示
      

  2.   

    非常感谢   
                  public void actionPerformed(ActionEvent e) {
                       String s1 = a1.getText();
                    String s2 = a2.getText();
                    double d1 = Double.parseDouble(s1);
                    double d2 = Double.parseDouble(s2);
                    double d3 = d1 + d2;
                    String s3 = Double.toString(d3);
                    a3.setText(s3);[/code]
    这段代码中这句:String s3 = Double.toString(d3);老师说用法不对,应该是String s3=d3.toString(),toString()应该不带参数,可是这样写了,就是错的,到底怎么回事呢?
    求解答
      

  3.   

    非常感谢   
                  public void actionPerformed(ActionEvent e) {
                       String s1 = a1.getText();
                    String s2 = a2.getText();
                    double d1 = Double.parseDouble(s1);
                    double d2 = Double.parseDouble(s2);
                    double d3 = d1 + d2;
                    String s3 = Double.toString(d3);
                    a3.setText(s3);[/code]
    这段代码中这句:String s3 = Double.toString(d3);老师说用法不对,应该是String s3=d3.toString(),toString()应该不带参数,可是这样写了,就是错的,到底怎么回事呢?
    求解答
      

  4.   

    非常感谢   
                  public void actionPerformed(ActionEvent e) {
                       String s1 = a1.getText();
                    String s2 = a2.getText();
                    double d1 = Double.parseDouble(s1);
                    double d2 = Double.parseDouble(s2);
                    double d3 = d1 + d2;
                    String s3 = Double.toString(d3);
                    a3.setText(s3);
    这段代码中这句:String s3 = Double.toString(d3);老师说用法不对,应该是String s3=d3.toString(),toString()应该不带参数,可是这样写了,就是错的,到底怎么回事呢?
    求解答
      

  5.   

    这里就是要把结果d3显示在a3文本框中,
    有两种做法:
    (1)、不要s3,直接就是a3.setText(d3 +"");(2)、用s3,但是把d3转换为s3时这样:String s3 = String.valueOf(d3);没有d3.toString()方法吧