在 2 个不同的场景中将 2 个 GridPanes 合二为一 Class

Get 2 GridPanes in one Class in 2 Different Scenes

我想使用网格窗格布局创建一个单独的场景。我已经尝试基本上复制所有代码并创建一个新场景,但是我放在第二个场景中的所有内容都没有捕捉到网格。我对编码相当 新手 ,这是我的第 5 个项目。 (很抱歉代码错误)

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

public class Main extends Application {

    Stage window;
    Scene s1, s2;

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

    @Override
    public void start(Stage primaryStage) throws Exception {
        window = primaryStage;
        window.setTitle("Test");

        GridPane grid = new GridPane();
        grid.setPadding(new Insets(10, 10, 10, 10));
        grid.setVgap(10);
        grid.setHgap(10);

        Button b1 = new Button("Scene 2");
        b1.setOnAction(e -> window.setScene(s2));
        GridPane.setConstraints(b1, 2, 0);

        Button b2 = new Button("Button 2");
        GridPane.setConstraints(b2, 5, 0);

        grid.getChildren().addAll(b1, b2);
        Scene s1 = new Scene(grid, 500, 500);

        GridPane grid2 = new GridPane();
        grid.setPadding(new Insets(10, 10, 10, 10));
        grid.setVgap(10);
        grid.setHgap(10);

        Button b3 = new Button("Scene 1");
        b3.setOnAction(e -> window.setScene(s1));
        GridPane.setConstraints(b3, 0, 0);

        Button b4 = new Button("Button 2");
        GridPane.setConstraints(b4, 6, 0);

        grid2.getChildren().addAll(b3, b4);
        s2 = new Scene(grid2, 500, 500);


        window.setScene(s1);
        window.show();
    }


}

代码中存在复制粘贴错误。

    GridPane grid2 = new GridPane();
    grid.setPadding(new Insets(10, 10, 10, 10));
    grid.setVgap(10);
    grid.setHgap(10);

大概来自复制上面的代码,其中填充和间隙应用于第一个网格窗格。要将它们应用于第二个网格窗格,应该是

    GridPane grid2 = new GridPane();
    grid2.setPadding(new Insets(10, 10, 10, 10));
    grid2.setVgap(10);
    grid2.setHgap(10);