我是 JavaFX
新手,需要使用 MenuBar
在多个 Anchor Panes
之间切换,因此当我在这些 Anchor Panes 之间切换时 MenuBar
需要保持在顶部,我使用 Scene Builder
生成 .FXML
文件,但不知道如何在不创建多个 MenuBars 的情况下执行此操作
code> 对于每个锚定 Pane 。
我的问题是如何以简单的方式做到这一点?因为我已经准备好使用锚定 Pane ,所以我需要的是一种共享这些锚定 Pane 顶部的菜单栏的方法。
最佳答案
正如 James 所评论的,要执行此操作,您需要使用 borderPane 及其顶部的 MenuBar
,并使用 BoderPane
上的 setCenter()
方法在其中设置 anchor Pane ,如下所示:
@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);
}
关于java - 如何在顶部菜单栏的多个anchorPanes之间切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46073455/