2016-12-14 109 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

這工作完美!非常感謝! :) –

相關問題