2012-06-02 87 views
0

我是一個學習Java編程,並試圖從書中編譯下面的代碼。當我嘗試編譯代碼我得到這個錯誤如何解決「擊鍵不抽象,不覆蓋ab。方法」

Keystrokes is not abstract and does not override abstract method 
    keyTyped (java.awt.event.KeyEvent) in java.awt.event.KeyListener. 

而且,我相信這是不相關的,但書中還告訴我,這部分代碼添加到源代碼(的地方):

pnl.add (field) ; 
pnl.add (txtArea); 

當我這樣做,我得到一個標識符「預期的錯誤」。

程序代碼:

import javax.swing.*; 
import java.awt.event.*; 

    class Keystrokes extends JFrame implements KeyListener 
    { 
    JPanel pnl = new JPanel(); 

    public static void main (String[ ] args){ 
     Keystrokes gui = new Keystrokes(); 
    } 

    JTextField field = new JTextField (38); 
    JTextArea txtArea = new JTextArea (5, 38); 

public Keystrokes() 
    { 
    super("Swing window"); 
    setSize(500,200); 
    setDefaultCloseOperation(EXIT_ON_CLOSE); 
    add(pnl); 
    field.addKeyListener (this); 

    setVisible(true); 
    } 

    public void keyPressed(KeyEvent event) 
    { 
     txtArea.setText("Key Pressed"); 
     throw new UnsupportedOperationException("Not supported yet."); 
    } 

    public void KeyTyped (KeyEvent event) { 
     throw new UnsupportedOperationException("Not supported yet."); 
     txtArea.append("\nCharacter : " + event.getKeyChar()); 
    } 

    public void keyReleased (KeyEvent event) 
    { 
     int keyCode = event.getKeyCode(); 
     txtArea.append("\nKey Code : " + event.getKeyCode()); 
     textArea.append("\nKey Text : " + event.getKeyText(keyCode)); 
    } 
} 
+0

請不要在同一時間包含多個空行的空白行。爲了人們閱讀和調試,對代碼塊使用一致的邏輯縮進。 –

回答

3

你的方法KeyTyped應該是keyTyped。資本化問題。

+0

謝謝,我正在複製書中的信件 –

+2

@Edmund:那麼無論是書本還是你的轉錄技巧都是錯誤的。 –

+0

我懷疑這一點。如果他/她在這裏,那本書的作者現在會把你打入腦海。 – duffymo

1
Keystrokes is not abstract and does not override abstract method keyTyped (java.awt.event.KeyEvent) in java.awt.event.KeyListener. 

這意味着KeyListener界面,您Keystrokes類號稱具有實現必須實現一些其他的方法,但你沒有這樣做。實施keyTyped方法,並查看javadoc以查看是否遺漏了其他人。

這應該讓你到你的下一個問題。

+0

我覺得很傻......我寫了TextArea而不是「txtArea」。謝謝大家。 –

1

Java區分大小寫;您將您的方法命名爲KeyTyped,而不是基類中所需的keyTyped。

+0

哎呀,對不起,沒有看到這個答案已經提供!我的意思是接口,而不是基類... – ekolis

相關問題