有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java重写列表的键处理

我已将一个列表添加到具有焦点的小程序中

在handleEvent中,我处理所有按键

我对键执行操作

当这些键是箭头键时,列表也会到处跳跃。这是不可取的。列表应仅响应鼠标事件,而不是按键事件

如何覆盖或删除列表组件的默认键处理


共 (1) 个答案

  1. # 1 楼答案

    假设它是一个支持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: 
                        }
            });