2016-12-14 59 views
1

我一直在尝试使用跳棋游戏在窗口内制作工具栏,现在发生的情况是,跳棋游戏在单独的窗口中打开,工具栏也是如此,我做错了什么?如何使这两个函数在一个窗口中打开此代码?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(); 
} 

回答

1

你正在创建一个新的Scene + Stage FOT工具栏,显示它,然后显示在primaryStage内容,而不是同时添加工具栏和内容同一场景的部分,例如中通过添加内容centerBorderPane节点:

@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(); 
} 
+0

这工作完美!非常感谢! :) –

相关问题