我试图在JavaFX中进行动态搜索。我的搜索结果保存在页面左侧的按钮中。按钮包含名称作为文本,我想要一个动态搜索,以便如果名称以&#34开头; abc"例如,只显示包含" abc"的按钮。例如" abcdefg"," abcasdfj",但不是" dfgas"。
现在我刚刚在文本字段中添加了一个监听器,并删除并添加了具有这些标准的子项。
请参阅下面的代码:
textfield.textProperty().addListener((observable, oldValue, newValue) -> {
for (int i = 0; i <= ListController.buttonList.size(); i++) {
getChildren().remove(ListController.buttonList.get(i));
if (ListController.buttonList.get(i).getText().equals(newValue)) {
getChildren().add(ListController.buttonList.get(i));
}
}
});
它到目前为止工作,但只有你输入全名。有想法使用正则表达式,但我确定有一种不那么复杂的方法,不是吗?
提前致谢,真的很感激!