如何从数据库中创建JavaFX自定义LookUp搜索小部件

时间:2018-09-25 12:22:10

标签: java javafx-8

我需要从我们的数据库产品表中为搜索产品创建自定义窗口小部件。我可以创建和使用ComboBox窗口小部件,但是有产品表很多行,因此方法不正确。我将需要相同的ComboBox本身,首先只显示50行,然后在LookUp搜索从产品表中获取一些数据之后。给我一些关于LookUp小部件的想法或库!

1 个答案:

答案 0 :(得分:3)

您应该使用JFXAutoCompletePopup。 这是JFXAutoCompletePopup的简单示例:

JFXTextField field = new JFXTextField();
field.setLabelFloat(true);
field.setPromptText("Type Something");

JFXAutoCompletePopup<String> autoCompletePopup = new JFXAutoCompletePopup<>();
autoCompletePopup.setSelectionHandler(event -> field.setText(event.getObject()));
autoCompletePopup.getSuggestions().addAll("Film", "Book", "Paper");
field.textProperty().addListener(observable ->{
    autoCompletePopup.filter(s -> s.contains(field.getText()));
    if(!autoCompletePopup.getFilteredSuggestions().isEmpty()){
        autoCompletePopup.show(field);
    }else{
        autoCompletePopup.hide();
    }
});

此致