本帖最后由 java2000_net 于 2008-08-05 20:32:09 编辑

解决方案 »

  1.   

    TFFrame tf = (TFFrame)(e.getSource()); 
    这样写不行的,触发事件的是按钮bequal ,不是这个TFFrame。而且一般注册监听器时,都是使用内部类的,然后使用
    if(e.getSource() == bequal )
    {
        //开始操作
    }我把你代码改了,不会报错的,如下:
    import java.awt.*;
    import java.awt.event.*;
    public class Testawt {

    public static void main(String[] args) { 
    new TFFrame().launchFrame();


    }
    class TFFrame extends Frame implements ActionListener 

    TextField num1, num2, num3; 
    Button bequal;
    public void launchFrame() { 
    num1 = new TextField(10); 
    num2 = new TextField(10); 
    num3 = new TextField(15); 
    Label lplus = new Label("+"); 
         bequal = new Button("=");
    bequal.addActionListener(this);  
    setLayout(new FlowLayout()); 
    add(num1); add(lplus); add(num2); add(bequal); add(num3); 
    pack(); 
    setVisible(true); 
    }


    public void actionPerformed(ActionEvent e) {

    if(e.getSource() == bequal) {
    System.out.println("dfddf");
    int n1 = Integer.parseInt(num1.getText()); 
    int n2 = Integer.parseInt(num2.getText());
    num3.setText("" + (n1+n2)); 
    }


    }



      

  2.   

    格式不对,我重发。
    import java.awt.*;
    import java.awt.event.*;
    public class Testawt {

    public static void main(String[] args) { 
    new TFFrame().launchFrame();


    }
    class TFFrame extends Frame implements ActionListener { 

    TextField num1, num2, num3; 
    Button bequal;
    public void launchFrame() { 
    num1 = new TextField(10); 
    num2 = new TextField(10); 
    num3 = new TextField(15); 
    Label lplus = new Label("+"); 
         bequal = new Button("=");
    bequal.addActionListener(this);  
    setLayout(new FlowLayout()); 
    add(num1); add(lplus); add(num2); add(bequal); add(num3); 
    pack(); 
    setVisible(true); 
    }


    public void actionPerformed(ActionEvent e) {

    if(e.getSource() == bequal) {
    System.out.println("dfddf");
    int n1 = Integer.parseInt(num1.getText()); 
    int n2 = Integer.parseInt(num2.getText());
    num3.setText("" + (n1+n2)); 
    }


    }




      

  3.   

    同意二楼!楼主查一下API就知道啦