在类中创建一个新的KeyListener的问题。

问题描述 投票:0回答:1

我在向我的Java程序添加键监听器时遇到了严重的问题.我想避免使用addKeyListener()方法,所以我尝试了以下解决方案。

public class game implements KeyListener{
    @Override
    public void keyTyped(KeyEvent e) {
        return;
    }

    @Override
    public void keyPressed(KeyEvent e) {
        System.out.println("test");
        return;
    }

    @Override
    public void keyReleased(KeyEvent e) {
        return;
    }
}

和:

public class game{
     KeyListener listener = new KeyListener(){
         @Override
         public void keyTyped(KeyEvent e) {
             return;
         }

         @Override
         public void keyPressed(KeyEvent e) {
             System.out.println("test");
             return;
         }

         @Override
         public void keyReleased(KeyEvent e) {
             return;
         }
    }

}

我真的必须在图形类中使用addKeyListener()吗? 我试图避免这样做.先谢谢你。

java keylistener
1个回答
0
投票

你是否有特别的原因想避免使用 addKeyListener()?

它是KeyListener的重要组成部分,所以你无法避免使用它。

不过实现起来应该比较容易。如果你使用的是JFrame,那么在你的构造函数中的以下代码应该可以工作。

public class Game implements KeyListener{

    public Game(){
        JFrame jframe = new JFrame();
        jframe.addKeyListener(this);
    }

    //implement other KeyListener methods
}

这样一来,Game类本身就作为监听器,可以实现所有必要的方法。

希望这能帮到你

© www.soinside.com 2019 - 2024. All rights reserved.