JAVAFX:我如何把它放在一个窗口而不是两个窗口?

时间:2016-12-14 10:31:08

标签: javafx

我一直试图在一个带有跳棋游戏的窗口内创建一个工具栏,现在发生的事情是,Checkers游戏在一个单独的窗口中打开,工具栏也是如此,我做错了什么?如何在具有这两个功能的一个窗口中打开此代码?

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

    Stage toolStage = new Stage();
    Button btnNewGame = new Button("New Game");
    Button btnConcede = new Button("Concede");
    Button btnNetwork = new Button("Network");

    ToolBar toolBar = new ToolBar();
    toolBar.getItems().addAll( new Separator(), btnNewGame, btnConcede, btnNetwork);

    BorderPane pane = new BorderPane();
    pane.setTop(toolBar);
    Scene toolScene = new Scene(pane, 600, 400);
    toolStage.setScene(toolScene);
    toolStage.show();

    Scene scene = new Scene(createContent());
    primaryStage.setTitle("Dam spill - OBJ2000 Eksamen 2016");
    primaryStage.setScene(scene);
    primaryStage.show();
}

1 个答案:

答案 0 :(得分:1)

您正在工具栏中创建新的Scene + Stage,显示它,然后在primaryStage中显示内容,而不是将工具栏和内容添加为相同的场景,例如将内容添加为center

BorderPane节点
@Override
public void start(Stage primaryStage) throws Exception {
    Button btnNewGame = new Button("New Game");
    Button btnConcede = new Button("Concede");
    Button btnNetwork = new Button("Network");

    ToolBar toolBar = new ToolBar();
    toolBar.getItems().addAll( new Separator(), btnNewGame, btnConcede, btnNetwork);

    BorderPane pane = new BorderPane();
    pane.setTop(toolBar);
    pane.setCenter(createContent());

    Scene scene = new Scene(pane, 600, 400);

    primaryStage.setTitle("Dam spill - OBJ2000 Eksamen 2016");
    primaryStage.setScene(scene);
    primaryStage.show();
}