首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决“击键不抽象,不重写ab.方法”的问题

如何解决“击键不抽象,不重写ab.方法”的问题
EN

Stack Overflow用户
提问于 2012-06-03 05:19:27
回答 3查看 793关注 0票数 0

我是一个学习Java编程的人,正在尝试从一本书中编译以下代码。当我试图编译代码时,我得到了这个错误

代码语言:javascript
复制
Keystrokes is not abstract and does not override abstract method 
    keyTyped (java.awt.event.KeyEvent) in java.awt.event.KeyListener.

此外,我认为这是无关的,但书中还告诉我将这段代码添加到源代码中(在某个地方?):

代码语言:javascript
复制
pnl.add ( field) ;
pnl.add (txtArea);

当我这样做时,我得到一个标识符"Expected“。

程序代码:

代码语言:javascript
复制
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));
    }
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-03 05:23:01

您的方法KeyTyped应为keyTyped。大写很重要。

票数 3
EN

Stack Overflow用户

发布于 2012-06-03 05:23:04

代码语言:javascript
复制
Keystrokes is not abstract and does not override abstract method keyTyped (java.awt.event.KeyEvent) in java.awt.event.KeyListener.

这意味着您的Keystrokes类声称要实现的KeyListener接口还有其他一些必须实现的方法,但是您没有实现。实现keyTyped方法并查看一下javadoc,看看是否遗漏了其他内容。

这应该会把你带到下一个问题上。

票数 1
EN

Stack Overflow用户

发布于 2012-06-03 05:33:59

Java是区分大小写的;您可以将方法命名为KeyTyped,而不是基类中所需的keyTyped。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10866028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档