小编Lul*_*ero的帖子

带有自定义CellFactory的ListView修剪不可见节点

我的布局问题

我有一点问题,ListView我不确定是不是因为我遗漏了一些知识,或者我的方法存在缺陷.不得不承认我还不清楚JavaFX在很多可能情况下如何处理布局.

ListView修剪我的布局尝试

上面的屏幕截图显示了我使用完全相同的代码获得两次的结果,除了在第二个屏幕截图中,我用于连贯布局的不可见形状对于调试是可见的.

CellFactory扩展所涉及的各种类Group,Parent到目前为止我尝试了其他一些没有太大成功.


如何重现

而不是共享我的StarShape,StarRow和其他一些杂项类(我很乐意,如果需要)我写了一个样本复制的问题.该类扩展Application并覆盖该start(...)方法:

@Override
public void start(Stage primaryStage) throws Exception {
    final StackPane root = new StackPane();
    final Scene scene = new Scene(root, 400, 600);

    final ListView<Boolean> listView = new ListView<>();
    listView.setCellFactory(this::cellFactory);

    for (int i = 0; i < 5 ; i++) {
        listView.getItems().add(true);
        listView.getItems().add(false);
    }

    root.getChildren().add(listView);

    primaryStage.setScene(scene);
    primaryStage.setTitle("ListView trims the invisible");
    primaryStage.show();
}
Run Code Online (Sandbox Code Playgroud)

这里this::cellFactory是 …

java layout listview javafx

45
推荐指数
1
解决办法
1089
查看次数

标签 统计

java ×1

javafx ×1

layout ×1

listview ×1