繁体   English   中英

通过JList中的字母停用选择

[英]Deactivate selection by letter in JList

我有一个JList列表和以下代码行:

list.getInputMap().put(KeyStroke.getKeyStroke('d'), "action");

因此,当列表处于焦点位置并按键盘上的d键时,应执行一个操作。 该操作考虑了当前选择了我的JList的哪个项目。 问题是,只要列表中有第一个字母“ d”的项目,我的选择都将首先跳至该条目,然后执行操作(应用于错误的项目)。

所以我的问题是:如何禁用由于键入字母而导致的JLists中的选择跳转?

您可以从JList中删除KeyListeners
我尝试过,但无法弄清楚这在标准功能方面有什么缺点。

KeyListener[] lsnrs = list.getKeyListeners();
for (int i = 0; i < lsnrs.length; i++) {
    list.removeKeyListener(lsnrs[i]);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM