javafx中的可滚动网格窗格

javafx中的可滚动网格窗格,java,javafx,gridpane,Java,Javafx,Gridpane,我正在尝试将multiply VBox添加到滚动窗格中的gridpane(在下面的代码片段中称为refPane) int columnIndex = 0; int rowIndex = 0; int boxWidth = windowWidth/ITEMS_PER_ROW; int boxHeight = windowHeight/ITEMS_PER_COLUMN; for(int i=0; i<items.size(); i++){

我正在尝试将multiply VBox添加到滚动窗格中的gridpane(在下面的代码片段中称为refPane)

    int columnIndex = 0;
    int rowIndex = 0;
    int boxWidth = windowWidth/ITEMS_PER_ROW;
    int boxHeight = windowHeight/ITEMS_PER_COLUMN;

    for(int i=0; i<items.size(); i++){
        VBox vBox = new VBox();
        vBox.setPrefWidth(boxWidth);
        vBox.setPrefHeight(boxHeight);

        Label label1 = new Label();
        label1.setText("ImgPlaceholder");
        label1.setPrefWidth(boxWidth);
        label1.setPrefHeight(boxHeight / 100 * 70);
        vBox.getChildren().add(label1);

        Label label2 = new Label();
        label2.setText("Description");
        label2.setPrefWidth(boxWidth);
        label2.setPrefHeight(boxHeight / 100 * 30);
        label2.setPadding(new Insets(0,0,0, 10));
        vBox.getChildren().add(label2);

        refPane.add(vBox, columnIndex, rowIndex);

        if(columnIndex != 0 && columnIndex % GAMES_PER_ROW == 0){
            rowIndex++;
            columnIndex = 0;
        }else {
            columnIndex++;
        }
int columnIndex=0;
int rowIndex=0;
int-boxWidth=窗口宽度/每行项目数;
int boxHeight=窗高/每列项目数;

对于(int i=0;i可能是javafx优先考虑收缩VBox而不是扩展网格窗格。尝试将每个VBox的
minHeight
设置为等于其
prefHeight
,以防止它们垂直收缩。

可能是javafx优先考虑收缩VBox而不是扩展网格窗格。尝试设置每个VBox的最小高度
,等于其
预高度
,以防止它们垂直收缩。

那很容易。非常感谢:)那很容易。非常感谢:)