Java - 覆盖列表的键处理

标签 java list input components

我已将一个列表添加到我的小程序中并获得焦点。

在handleEvent中我处理所有按键。

我对按键执行操作。

当按键是方向键时,列表也会到处跳转。这是不希望的。该列表应该只响应鼠标事件而不是按键事件。

如何覆盖或删除 List 组件的默认按键处理?

最佳答案

假设它是一个支持 KeyListener 的组件,只需添加一个 KeyListenerconsume() 它,这样它就不会到达组件。 添加了一些额外的键。

jl.addKeyListener(new KeyAdapter() {
            public void keyPressed(KeyEvent ke) {
                            int key = ke.getKeyCode();
                switch (key){
                             case KeyEvent.VK_DOWN:
                             case KeyEvent.VK_UP:
                             case KeyEvent.VK_RIGHT:
                             case KeyEvent.VK_LEFT:
                             case KeyEvent.VK_KP_DOWN:
                             case KeyEvent.VK_KP_UP:
                             case KeyEvent.VK_KP_RIGHT:
                             case KeyEvent.VK_KP_LEFT:
                    ke.consume();
                                    break;
                 default: 
                    }
        });

关于Java - 覆盖列表的键处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10458954/

相关文章:

java - "Accounting"JavaFX 中的样式表单元格

python - list() 使用的内存比列表推导略多

python - 如何使用 Selenium 按住按键

java - 使用 Java 检查文本文件中是否已存在输入

java - 从服务器读取输入时,我的程序挂起。Java

java - 如何使这个删除测试独立?

java - 如何使全选复选框起作用

java - 奇数相加的递归方法

python - 在python中组合两个字符串

python - Python 如何使用 Windows Media Player 打开并播放 mp3 文件列表