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指出的,您不需要填充每个单元格。我可以将一个单元格划分为两个单元格吗?我可以将两个网格划分为一个网格吗?这样,在增加或减少网格窗口时,它就不会重叠