首页 > 解决方案 > JComboBox - 缩短按键监听器

问题描述

当焦点在 JComboBox 上时,连续按键会导致它依次选择以这些字符开头的列表项。如何缩短每次按键之间允许的时间?

标签: javaswingjcomboboxkeypress

解决方案


这是在BasicComboBoxUI类中控制的,您可以在其中找到如下代码:

Long l = (Long)UIManager.get("ComboBox.timeFactor");
timeFactor = l == null ? 1000L : l.longValue();

这基本上说默认值为 1 秒,以便将连续按下的键连接在一起。

要覆盖此值,您需要在创建组合框之前使用默认值更新 UIManager:

UIManager.put("ComboBox.timeFactor", new Long(500));
JComboBox comboBox = new JComboBox( ... );

推荐阅读