2015-10-17 50 views
2

已经在同一问题上发布了3个问题,但无法弄清楚我错在哪里。 我试图实现ActionListener的按钮(B)AS-编译时无法覆盖actionPerformed(使用ANONYMOUS类)。我究竟做错了什么?

b.addActionListener(new ActionListener(){ 
     @Override 
     public void actionPerformed(ActionEvent e) 
     { 
      int first= Integer.parseInt(tf1.getText()); 
      int second= Integer.parseInt(tf2.getText()); 
      int result= first+second; 
      tf3.setText(Integer.toString(result)); 
     } 

在编译时,这一点让味精原样

MyFrame.java:3:错误:MyFrame不是抽象和不覆盖ActionListener的抽象方法的actionPerformed(ActionEvent的) 类MyFrame延伸框架实现的ActionListener ^ 1错误

˚F ULL代码段:

import java.awt.*; 
import java.awt.event.*; 
class MyFrame extends Frame implements ActionListener 
{ 
    TextField tf1; 
    TextField tf2; 
    TextField tf3; 
    Button b; 
    Panel p; 
    MyFrame() 
    { 
     setSize(400,400); 
     setVisible(true); 
     p = new Panel(); 
     tf1 = new TextField(10); 
     tf2 = new TextField(10); 
     tf3 = new TextField(10); 
     b = new Button("+"); 
     p.add(tf1); 
     p.add(tf2); 
     p.add(tf3); 
     p.add(b); 
     add(p); 
     b.addActionListener(new ActionListener(){ 
      @Override 
      public void actionPerformed(ActionEvent e) 
      { 
       int first= Integer.parseInt(tf1.getText()); 
       int second= Integer.parseInt(tf2.getText()); 
       int result= first+second; 
       tf3.setText(Integer.toString(result)); 
      } 
     }); 
    } 
    public static void main(String... args) 
    { 
     new MyFrame(); 
    } 
} 

回答

0

您在一个匿名类实例实施ActionListener,但你也声明MyFrame实现ActionListener,它没有。

如果您希望MyFrame直接执行ActionListener,请将actionPerformed移动到该类的方法。如果不是,请从MyFrame声明中删除implements ActionListener

+0

工作。非常感谢。 –