gpt4 book ai didi

java - 如何防止在 JavaFX 中按下 SPACE 键时关闭 AutoCompleteCombobox 弹出菜单

转载 作者:搜寻专家 更新时间:2023-11-01 02:00:21 25 4
gpt4 key购买 nike

我在 https://github.com/jesuino/javafx-combox-autocomplete/blob/master/src/main/java/org/fxapps/ComboBoxAutoComplete.java 中提到的代码的帮助下在 JavaFX 中创建了一个 AutoCompleteCombobox

但问题是,当用户按下 SPACE 键时,组合框弹出窗口关闭。我想继续使用空格字符进行过滤并防止弹出窗口关闭。

我已经处理了组合框上的所有三个事件(按键、按键释放、按键输入),但没有解决方案。我认为这是由组合框项目 ListView 上的按键事件引起的。

错误在 https://bugs.openjdk.java.net/browse/JDK-8087549 中提到enter link description here

我只想知道如何覆盖处理空格键按下的事件处理程序。

最佳答案

我也一直在尝试创建一个 AutoCompleteCombobox,并且想知道为什么每次输入空格时弹出窗口都会关闭,直到我得到您的提示,即实际错误在 ComboBoxListViewSkin 类中。

您只需要将 ComboBox 的外观替换为具有 EventFilter 的新外观即可。

ComboBoxListViewSkin<T> comboBoxListViewSkin = new ComboBoxListViewSkin<T>(comboBox);
comboBoxListViewSkin.getPopupContent().addEventFilter(KeyEvent.ANY, (event) -> {
if( event.getCode() == KeyCode.SPACE ) {
event.consume();
}
});
comboBox.setSkin(comboBoxListViewSkin);

我只在 Ubuntu 上使用 Oracle Java 10 测试了这个解决方案,但它应该也适用于其他平台。

关于java - 如何防止在 JavaFX 中按下 SPACE 键时关闭 AutoCompleteCombobox 弹出菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50013972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com