Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaFX应用程序顶部显示AnchorPane_Java_Javafx_Fxml - Fatal编程技术网

在JavaFX应用程序顶部显示AnchorPane

在JavaFX应用程序顶部显示AnchorPane,java,javafx,fxml,Java,Javafx,Fxml,我的主应用程序运行在一个具有多个选项卡的JFXTabPane中。 在特殊情况下,我想在整个应用程序的顶部加载另一个AnchorPane RootController.java JFXTabPane tabPane = new JFXTabPane(); tab = new Tab("Tab 1"); tabPane.getTabs().add(tab); borderPane.setCenter(tabPane); loader = new FXMLLoader(getClass().get

我的主应用程序运行在一个具有多个选项卡的
JFXTabPane
中。
在特殊情况下,我想在整个应用程序的顶部加载另一个
AnchorPane

RootController.java

JFXTabPane tabPane = new JFXTabPane();

tab = new Tab("Tab 1");
tabPane.getTabs().add(tab);

borderPane.setCenter(tabPane);
loader = new FXMLLoader(getClass().getClassLoader().getResource("fxml1.fxml"));
parent = loader.load();
tab.setContent(parent);
Controller controller = loader.getController();

/* ... Loading more tabs ... */


/* Loading the additional `AnchorPane`, that needs to be loaded at a later point */
AnchorPane pane = FXMLLoader.load(getClass().getClassLoader().getResource("fxml2.fxml"));
Pane pane;

/* Registering that AnchorPane in the Controller */
public void setPane(Pane p) {
    this.pane = p;
}
Fxml1Controller.java

JFXTabPane tabPane = new JFXTabPane();

tab = new Tab("Tab 1");
tabPane.getTabs().add(tab);

borderPane.setCenter(tabPane);
loader = new FXMLLoader(getClass().getClassLoader().getResource("fxml1.fxml"));
parent = loader.load();
tab.setContent(parent);
Controller controller = loader.getController();

/* ... Loading more tabs ... */


/* Loading the additional `AnchorPane`, that needs to be loaded at a later point */
AnchorPane pane = FXMLLoader.load(getClass().getClassLoader().getResource("fxml2.fxml"));
Pane pane;

/* Registering that AnchorPane in the Controller */
public void setPane(Pane p) {
    this.pane = p;
}
我的方法是将窗格设置为可见,并在需要时将其置于前面:

private void showPane(ActionEvent event) {
    pane.setVisible(true);
    pane.toFront();
    System.out.println(pane);
}
但这并没有改变任何事情


那么,如何在我的
JFXTabPane
顶部显示
ancorpane

将边框窗格和窗格添加到StackPane中。显示\隐藏StackPane项取决于条件。请参阅答案将边框窗格和窗格添加到StackPane中。显示\隐藏堆栈窗格项取决于条件。请参阅答案