Javafx 如何在Scenebuilder中添加网格,使特定列的单元格数超过列的其余部分?

Javafx 如何在Scenebuilder中添加网格,使特定列的单元格数超过列的其余部分?,javafx,scenebuilder,Javafx,Scenebuilder,我希望添加一个网格布局,每行有不同的单元格。至于现在我只能添加或删除一行或一列,我想问一下是否可以在特定的行或列中添加一个单元格 例如,在下面的网格图像中,我想问一下如何在第2列中添加单元格。我的意思是,我想在第2列中添加比第2列其余部分更多的单元格您可以将每列设置为1列网格窗格。每列可以有任意多行。将所有这些列放在另一个1行网格窗格中: import javafx.application.Application; import javafx.geometry.Insets; import ja

我希望添加一个网格布局,每行有不同的单元格。至于现在我只能添加或删除一行或一列,我想问一下是否可以在特定的行或列中添加一个单元格


例如,在下面的网格图像中,我想问一下如何在第2列中添加单元格。我的意思是,我想在第2列中添加比第2列其余部分更多的单元格

您可以将每列设置为1列网格窗格。每列可以有任意多行。将所有这些列放在另一个1行网格窗格中:

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);
    }
}
导入javafx.application.application;
导入javafx.geometry.Insets;
导入javafx.scene.Group;
导入javafx.scene.scene;
导入javafx.scene.control.Label;
导入javafx.scene.layout.GridPane;
导入javafx.stage.stage;
公共类FxTest扩展了应用程序{
@凌驾
public void start(Stage primaryStage)引发异常{
GridPane grid=新建GridPane();
网格设置填充(新插图(5));
对于(int i=0;i<5;i++){
GridPane column=makeColumn(3+i);
添加网格(列,i,0);
}
场景=新场景(新组(网格));
初级阶段。场景(场景);
primaryStage.sizeToScene();
primaryStage.show();
}
私有网格窗格makeColumn(int列){
GridPane column=新的GridPane();
列。设置填充(新插图(2));
column.setGridLinesVisible(true);
对于(int i=0;i

您可以将每列设置为一列网格窗格。每列可以有任意多行。将所有这些列放在另一个1行网格窗格中:

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);
    }
}
导入javafx.application.application;
导入javafx.geometry.Insets;
导入javafx.scene.Group;
导入javafx.scene.scene;
导入javafx.scene.control.Label;
导入javafx.scene.layout.GridPane;
导入javafx.stage.stage;
公共类FxTest扩展了应用程序{
@凌驾
public void start(Stage primaryStage)引发异常{
GridPane grid=新建GridPane();
网格设置填充(新插图(5));
对于(int i=0;i<5;i++){
GridPane column=makeColumn(3+i);
添加网格(列,i,0);
}
场景=新场景(新组(网格));
初级阶段。场景(场景);
primaryStage.sizeToScene();
primaryStage.show();
}
私有网格窗格makeColumn(int列){
GridPane column=新的GridPane();
列。设置填充(新插图(2));
column.setGridLinesVisible(true);
对于(int i=0;i

为什么不添加第8行,而只填充单元格(8,2)?换句话说,将单元格(8,0)和单元格(8,1)保留为空。总之,不,您不能使用
GridPane
执行此操作。每一列将具有相同的行数,每一行将具有相同的列数。但是,正如Slaw指出的,您不需要填充每个单元格。我可以将一个单元格划分为两个单元格吗?我可以将两个网格划分为一个网格吗?这样,在增加或减少网格窗口时,它就不会重叠?为什么不添加第八行,而只填充单元格(8,2)?换句话说,将单元格(8,0)和单元格(8,1)保留为空。总之,不,您不能使用
GridPane
执行此操作。每一列将具有相同的行数,每一行将具有相同的列数。但是,正如Slaw指出的,您不需要填充每个单元格。我可以将一个单元格划分为两个单元格吗?我可以将两个网格划分为一个网格吗?这样,在增加或减少网格窗口时,它就不会重叠