2017-09-06 21 views
1

我是新來JavaFX,我需要使用MenuBarAnchor Panes之間進行切換,因此需要MenuBar留在當我這些錨窗格之間進行切換,我使用Scene Builder生成.FXML文件之上,但不知道如何做到這一點,而不是爲每個錨窗格創建多個MenuBars如何使用MenuBar在多個anchorPanes之間切換?

我的問題是如何以簡單的方式做到這一點?因爲我已經準備好使用錨窗格,所有我需要的是在這些錨窗格頂部共享菜單欄的方法。

+2

只需使用一個['BorderPane'](http://docs.oracle.com/javase/8/javafx/api/javafx/scene/layout/BorderPane.html),把菜單放在最上面,然後你可以調用'setCenter (...)'您需要顯示哪個錨點窗格。 –

回答

0

正如詹姆斯評價說,要做到這一點,你需要使用borderPane與MenuBar在它的上面,並用setCenter()方法上BoderPane設置裏面你的錨窗格,像這樣:

@FXML 
    private BorderPane borderPane; 

    private AnchorPane achor1; 
    private AnchorPane achor2; 

    @Override 
    public void initialize(URL url, ResourceBundle rb) { 
     try { 
      // TODO 
      achor1 = FXMLLoader.load(getClass().getResource(("/Views/anchor1.fxml"))); 
      achor2 = FXMLLoader.load(getClass().getResource("/Views/anchor2.fxml")); 

     } catch (IOException ex) { 
      Logger.getLogger(CrechHomeController.class.getName()).log(Level.SEVERE, null, ex); 
     } 

    } 

    @FXML 
    public void action1() throws IOException { 
     // anchor1 

     borderPane.setCenter(achor1); 

    } 

    @FXML 
    public void action2() { 
     //anchor2 

     borderPane.setCenter(achor2); 
    }