2012-06-02 51 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

相关问题