我有一个列表添加到我的小程序中,重点是。
在 handleEvent 我处理所有按键。
我对键执行操作。
当键是方向键时,列表也跳来跳去。这是不可取的。该列表应该只响应鼠标事件而不是按键事件。
如何覆盖或删除 List 组件的默认键处理?
我有一个列表添加到我的小程序中,重点是。
在 handleEvent 我处理所有按键。
我对键执行操作。
当键是方向键时,列表也跳来跳去。这是不可取的。该列表应该只响应鼠标事件而不是按键事件。
如何覆盖或删除 List 组件的默认键处理?
假设它是一个支持 KeyListener 的组件,只需添加一个KeyListener
并且consume()
它不会到达组件。添加了一些额外的键。
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:
}
});