当前位置: 首页 > 知识库问答 >
问题:

如何在ListView中使用JavaFX FilteredList?[关闭]

洪英豪
2023-03-14

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

如何使用FilteredList筛选ListView?

共有1个答案

堵泽宇
2023-03-14

这是相当简单和直接的:

@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();
}
 类似资料:
  • 问题内容: 所以我正在一个项目中,我想要一个包含多个数据流的列表视图。我正在寻找的是这样的东西,但是所有这些都需要在一个列表视图中滚动。 我正在接收的数据流来自firebase,并且该变量是firebase集合的实例。我能够为单个流构建一个列表,所以我知道实例是正确的,我不想共享它,因为当前数据库规则处于测试模式。 此代码使我可以从单个流构建单个对象,并且可以按预期工作。 从这里开始,我觉得我有2

  • 我有一个,其中有和属性(以适当的JavaFX方式),我想创建一个,它将显示人员的名称,并反映列表和列表中单个对象的属性中的更改。这件事怎么做最好?有两个问题: 所以,最后,我确实有一种方法来做我想做的事情:在1中编写我自己的包装器,在2中使用一个自定义的单元工厂。我只是觉得这需要更多的工作,我认为这是一个比较普遍的情况。有没有更简单的方法让我错过了?

  • 我有一块碎片。加载的视图的onCreateView方法上的这个片段有一个ListView(a)(在适配器(a)中填充)。但是,此ListView(A)中有另一个ListView(B)。所以现在,我必须调用适配器(B)来填充这个listview(B)。如果我从片段调用它,我会得到一个空指针,如果我从适配器调用它(a),它不会崩溃,但不会工作。 如何调用另一个适配器中的适配器。 这是片段的代码: 其中

  • 问题内容: 在上面的代码中,我不能在switch case语句中使用null。我该怎么做呢?我无法使用,因为那之后我想做其他事情。 问题答案: 使用Java中的语句无法做到这一点。在之前检查: 您不能在语句*中使用任意对象。究其原因,编译器不会抱怨这里是一个是因为Java自动unboxes的一个。正如assylias已经说过的,拆箱将抛出when is 。 *从Java 7开始,您可以在in 语句

  • 对于在DrawerLayout中使用RecolyerView还是ListView我有点困惑。 我读了一篇教程,其中解释了如何使用RecolyerView创建NavigationDrawer。 根据Google的说法:RecolyerView是 1)用于显示大型数据集的容器,通过维护有限数量的视图可以非常高效地滚动这些数据集。 2)在内部使用了一个布局管理器。布局管理器将项视图放置在Recycler

  • 我想在计数器的基础上排序listview,但我无法做到这一点,请任何人帮助我。 在这里,我正在分享我的代码和屏幕截图。 这是链接到列表视图的适配器 自定义适配器组.java 下面是使用ListView的代码 Fragment_groups.java 这是屏幕截图