我是一个学习Java编程的人,正在尝试从一本书中编译以下代码。当我试图编译代码时,我得到了这个错误
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);当我这样做时,我得到一个标识符"Expected“。
程序代码:
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));
}
}发布于 2012-06-03 05:23:01
您的方法KeyTyped应为keyTyped。大写很重要。
发布于 2012-06-03 05:23:04
Keystrokes is not abstract and does not override abstract method keyTyped (java.awt.event.KeyEvent) in java.awt.event.KeyListener.这意味着您的Keystrokes类声称要实现的KeyListener接口还有其他一些必须实现的方法,但是您没有实现。实现keyTyped方法并查看一下javadoc,看看是否遗漏了其他内容。
这应该会把你带到下一个问题上。
发布于 2012-06-03 05:33:59
Java是区分大小写的;您可以将方法命名为KeyTyped,而不是基类中所需的keyTyped。
https://stackoverflow.com/questions/10866028
复制相似问题