java - 如何让 JavaFx Combobox 响应用户输入?

标签 java javafx

我正在编写一个程序,其中涉及让用户在组合框中键入内容,并且项目列表应更改以反射(reflect)框中的文本(类似于您在 Google 中键入内容时的自动完成功能)

但是,在我按 Enter 之前,我的组合框不会更新。当输入常规键时它似乎不会更新。我尝试过将各种监听器添加到组合框,但都没有解决问题。

这是最成功的代码片段。它是从 fxml 代码调用的:onKeyReleased="#keyReleased"。它工作正常,但仍然只有在按下 Enter 时才会执行。

public void keyReleased() throws SQLException, ClassNotFoundException
{
    String coname = custconame_combo.getValue();

    scriptHandler = new ScriptHandler();

    custconame_combo.getItems().clear();
    int i = 0;
    for (String s : scriptHandler.searchCustomer(coname))
    {
        System.out.println(s);
        custconame_combo.getItems().add(s);

        custconame_combo.show();

        i += 1;
    }
}

我已经搜索了很多次,但似乎仍然无法解决这个问题。

最佳答案

既然我已经解决了我的问题,我将分享我发现的内容。

第三方库提供了最简单的解决方案。我选择了 JFoenix 中的自动完成类。它完全具有我一直在寻找的功能,并且感觉不像我在尝试重新发明轮子。

这个答案对我的搜索非常有帮助:JavaFX TextField Auto-suggestions

关于java - 如何让 JavaFx Combobox 响应用户输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51995842/

相关文章:

java - Spring : No mapping found for HTTP request with URI

javafx - 如何设置 slider 更改监听器仅在 JavaFX 中释放鼠标拖动时触发?

JavaFX 组合框无限调用 listcell.updateitem

java - 无法解析符号 'WebView'。在 IntelliJ IDEA 中使用 Maven 的 JavaFX WebView

css - 我无法在 JavaFX 中获得透明舞台

Java数组栈,从上到下打印栈内容

java - 如何在java中比较数组字符串元素和集合字符串元素

java - 如何下载具有Java依赖项的网页?

java - Gradle:Jar Task不包括扩展名未知的文件

java - 使用 WebEngine 执行多个脚本(或依赖于另一个脚本的脚本)