【问题标题】:implementing KeyListener实现 KeyListener
【发布时间】:2017-09-08 17:14:27
【问题描述】:

我正在尝试测试 KeyListener 类 - 当一个键被 /​​pressed/typed/released 打印时,我怎么能听一个特定的字母,例如当按下“n”时,会打印一些东西。这是我的代码:

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;


public class Test2 implements KeyListener {

    public void keyPressed(KeyEvent e){

        System.out.println("hello");
    }

    public void keyReleased(KeyEvent e){
        System.out.println("hello1");
    }

    public void keyTyped(KeyEvent e){
        System.out.println("hello2");
    }
}

【问题讨论】:

    标签: java keylistener


    【解决方案1】:

    您可以将KeyEvent.getKeyCode()KeyEvent 中定义的常量一起用于键盘上的各种字符。

    例如,

    public void keyPressed(KeyEvent e) {
        if (e.getKeyCode() == KeyEvent.VK_N) {
             System.out.println("n Pressed");
        }
    }
    

    【讨论】:

      【解决方案2】:

      任一个

      if(event.getKeyChar() == 'n')
           // do stuff
      

      或者

      if(event.getKeyCode() == KeyEvent.KV_N)
          // do stuff
      

      【讨论】:

      • 好的,谢谢,但是我的代码有问题吗?因为它对我不起作用。即当我按下一个键时没有打印任何内容。
      • 你注册KeyListener了吗?
      • 我已经尝试过 - 在上面类的构造函数中添加 addKeyListener(this)。
      • 你在什么对象上调用了addKeyListener()?我认为最好关注一个小的tutorial 来让事情顺利进行。如果不了解最基本的知识,就不可能发现/了解这类事情。
      猜你喜欢
      • 1970-01-01
      • 2013-07-19
      • 1970-01-01
      • 2020-11-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-09
      • 2013-09-08
      • 2012-06-07
      相关资源
      最近更新 更多