TableView和列表数据

时间:2014-09-13 13:26:58

标签: java javafx tableview

我正在尝试在List中显示TableView个图标(简单地通过其路径引用),这些图标具有x列数量和显示全部所需的任意数量的单元格图标。

计划是以TableView充当"多线"以及{34}的方式显示图标。 ListView ..所以他们从左到右。

这是我第一次使用TableView控件,而且我对如何实现这一点感到有些困惑。

感谢您的任何指示。

1 个答案:

答案 0 :(得分:0)

所以,正如ItachiUchiha建议的那样,我最终使用了一个带有GridPane的Pagination控件,它的工作非常好。

如果有人偶然发现同样的事情,这是代码。

    List<String> allEntries = Icons.getAllEntries();
    int numCols = 8;
    int numRows = 5;
    int numPages = allEntries.size() / (numCols * numRows);
    Pagination pagination = new Pagination(numPages);
    Collections.sort(allEntries);
    pagination.setPageFactory(pageIndex -> {
        GridPane layout = new GridPane();
        for (int y = 0; y < numRows; y++) {
            for (int x = 0; x < numCols; x++) {
                int index = numCols * y + x + (pageIndex * numCols * numRows);
                String path = allEntries.get(index);
                Image image = new Image(path, true);
                ImageView imageView = new ImageView(image);
                imageView.setFitWidth(64);
                imageView.setFitHeight(64);
                layout.add(imageView, x, y);
                imageView.setOnMousePressed(e -> {
                    // Do stuff
                });
            }
        }
        return layout;
    });