2015-10-17 56 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

工作。非常感謝。 –