gpt4 book ai didi

listview - 如何在 ListView 中使用 JavaFX FilteredList?

转载 作者:行者123 更新时间:2023-12-02 20:53:51 27 4
gpt4 key购买 nike

我的应用程序中有一个包含字符串的 ListView。现在,我想通过输入字段过滤此列表。但我发现的所有有关 FilteredLists 的示例都是关于如何过滤表的。

如何使用 FilteredList 过滤 ListView?

最佳答案

这相当简单明了:

@Override
public void start(Stage primaryStage) {

ObservableList<String> data = FXCollections.observableArrayList();
IntStream.range(0, 1000).mapToObj(Integer::toString).forEach(data::add);

FilteredList<String> filteredData = new FilteredList<>(data, s -> true);

TextField filterInput = new TextField();
filterInput.textProperty().addListener(obs->{
String filter = filterInput.getText();
if(filter == null || filter.length() == 0) {
filteredData.setPredicate(s -> true);
}
else {
filteredData.setPredicate(s -> s.contains(filter));
}
});


BorderPane content = new BorderPane(new ListView<>(filteredData));
content.setBottom(filterInput);

Scene scene = new Scene(content, 500, 500);
primaryStage.setScene(scene);
primaryStage.show();
}

关于listview - 如何在 ListView 中使用 JavaFX FilteredList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28448851/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com