Как добавить Grid в Scenebuilder с конкретным столбцом, имеющим больше ячеек, чем остальная часть столбца? - PullRequest
1 голос
/ 23 марта 2019

Я хочу добавить сетку с каждой строкой, имеющей разные ячейки.На данный момент я могу добавить или удалить только строку или столбец, я хочу спросить, могу ли я добавить ячейку в определенную строку или столбец.

Например, на изображении ниже сетки, я хочу спросить, как яМожно добавить ячейку в столбце 2.я имею в виду, я хочу добавить больше столбца в столбце 2, чем остальная часть столбца enter image description here

1 Ответ

0 голосов
/ 24 марта 2019

Вы можете сделать каждый столбец GridPane с 1 столбцом.В каждом столбце может быть сколько угодно строк.Поместите все эти столбцы в другую 1-рядную GridPane:

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;

public class FxTest extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{

        GridPane  grid = new GridPane();
        grid.setPadding(new Insets(5));
        for (int i= 0; i< 5 ; i++){
            GridPane column = makeColumn(3+i);
            grid.add(column, i, 0);
        }

        Scene scene = new Scene(new Group(grid));
        primaryStage.setScene(scene);
        primaryStage.sizeToScene();
        primaryStage.show();
    }

    private GridPane makeColumn(int columns) {
        GridPane column = new GridPane();
        column.setPadding(new Insets(2));
        column.setGridLinesVisible(true);
        for(int i = 0; i < columns; i++){
            column.add(new Label("  "+i +"  "), 0, i);
        }
        return column;
    }

    public static void main(String[] args) {
        launch(null);
    }
}

enter image description here

...