javafx使用数据库自动完成

javafx使用数据库自动完成,java,javafx,javafx-8,javafx-2,controlsfx,Java,Javafx,Javafx 8,Javafx 2,Controlsfx,我正在尝试使用自动完成controlfx来完成我的项目,代码是 TextFields.bindAutoCompletion( textField, "Hey", "Hello", "Hello World", "Apple", "Cool", "Costa", "Cola", "Coca Cola"); 这段代码只能在所有列表都已知的情况下使用,但我正在尝试将其与mysql数据库和我使用的代码连接起来 try{ Class.fo

我正在尝试使用自动完成
controlfx
来完成我的项目,代码是

TextFields.bindAutoCompletion(
            textField,
            "Hey", "Hello", "Hello World", "Apple", "Cool", "Costa", "Cola", "Coca Cola");
这段代码只能在所有列表都已知的情况下使用,但我正在尝试将其与mysql数据库和我使用的代码连接起来

  try{
       Class.forName("com.mysql.jdbc.Driver");
            Connection con=(Connection)DriverManager.getConnection("jdbc:mysql://localhost:3306/database","root","root");
            String sql="Select * from table";
           Statement stm=(Statement) con.createStatement();
ResultSet rs=stm.executeQuery(sql);
 TextFields.bindAutoCompletion(
           textfield,""); 
    while(rs.next()){
    TextFields.bindAutoCompletion(
            textfield,rs.getString(2));       
}

        } 
        catch (ClassNotFoundException | SQLException e) {

        }
但我有一个问题,它只显示一个项目的建议框,虽然它有多个匹配

请帮帮我


谢谢。

在while循环中,您将为每个结果重新绑定结果。因此,只有最后的结果才能获胜。您真正想要的是从ResultSet条目创建一个集合或数组,然后在执行查询后将其绑定一次