JAVAFX:我怎样才能把它放在一个窗口而不是两个?
问题描述:
我一直在尝试使用跳棋游戏在窗口内制作工具栏,现在发生的情况是,跳棋游戏在单独的窗口中打开,工具栏也是如此,我做错了什么?如何使这两个函数在一个窗口中打开此代码?JAVAFX:我怎样才能把它放在一个窗口而不是两个?
@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();
}
答
你正在创建一个新的Scene
+ Stage
FOT工具栏,显示它,然后显示在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();
}
这工作完美!非常感谢! :) –