【问题标题】:Is it possible to detect which key is clicked for JAVA key listener events? (key pressed, typed, or released) [closed]是否可以检测为 JAVA 键侦听器事件单击了哪个键? (按键,键入或释放)[关闭]
【发布时间】:2015-04-08 07:37:53
【问题描述】:

是否有可能知道在 jTextField 中的 JAVA NetBeans 中按下了哪个键? 另外,当按下 enter 键或 esc 键时,停止检测。

感谢您的帮助!

【问题讨论】:

  • 您希望实现什么目标?应该使用 ActionListener 来监视字段中是否按下了“action”键,该键通常是 enter 键。您可以使用 DocumentListener 来监视文本字段内容的更改,这会考虑到用户键入和粘贴文本,以及调用 setText 时

标签: java netbeans key jtextfield key-events


【解决方案1】:

当然可以。试试这样的:

KeyListener keyListener = new KeyListener() {

            @Override
            public void keyTyped(KeyEvent e) {
                // TODO Auto-generated method stub

            }

            @Override
            public void keyReleased(KeyEvent e) {
                // TODO Auto-generated method stub

            }

            @Override
            public void keyPressed(KeyEvent e) {
                // TODO Auto-generated method stub
                int keyCode = e.getKeyCode();
                char keyChar = e.getKeyChar();

                System.out.println("Code: "+keyCode+" , "+"Char: "+keyChar);

                if (keyCode == KeyEvent.VK_ENTER) {
                    System.out.println("Enter pressed");
                    //do whatever you want here

                }else if (keyCode == KeyEvent.VK_ESCAPE) {
                    System.out.println("Esc pressed");
                    //do whatever you want here
                }
            }
        };

this.textField.addKeyListener(keyListener);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-28
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 1970-01-01
    • 2019-07-05
    • 1970-01-01
    相关资源
    最近更新 更多