我正在创建一个应用程序,我想从数据库中搜索名称。我正在使用ControlsFX.TextFields.bindAutoCompletion()。
我使用了一个ObservableList来绑定我的数据。 这是我的代码。
@FXML
private JFXTextField jfautocom;
private DatabaseHandler datahandler;
final ObservableList<String> auto =FXCollections.observableArrayList();
@Override
public void initialize(URL url, ResourceBundle rb) {
datahandler = DatabaseHandler.getInstance();
}
@FXML
private void autocomp(MouseEvent event)
{ String testName = jfautocom.getText();
TextFields.bindAutoCompletion(jfautocom, auto);
try {
String quy = "SELECT `name` FROM `vendor`";
ResultSet resultset = datahandler.execQuery(quy);
while (resultset.next()) {
testName = resultset.getString("name");
}
jfautocom.setText(testName);
auto.add(testName);
} catch (SQLException ex) {
Logger.getLogger(AutocomtestController.class.getName()).log(Level.SEVERE, null, ex);
}
}
我期望自动补全能够正常工作,它只会给我列中的最后一个值。并复制它。