我有一个带有几个菜单的主fxml文件。当用户单击某些按钮时,内容会发生变化,这些内容是加载到主屏幕上的单独的fxml文件。整个场景不会改变,但只有一部分场景会改变。下面是我想要创建的应用程序的一个简单原型
https://www.dropbox.com/s/3nildyt004v32vc/fxml%20application.png
发布于 2014-01-21 16:39:39
试试这个..。
AnchorPane pane; // pane where fxml was showing
menu1.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent t) {
openNewWindow("m1.fxml");
}
});
menu2.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent t) {
openNewWindow("m2.fxml");
}});
menu3.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent t) {
openNewWindow("m3.fxml");
}
}); 函数openNewWindow
public void openNewWindow(String FXMLFile)
{
//ChildNode child;
try {
URL url = getClass().getResource(FXMLFile);
FXMLLoader fxmlLoader = new FXMLLoader();
fxmlLoader.setLocation(url);
fxmlLoader.setBuilderFactory(new JavaFXBuilderFactory());
AnchorPane page = (AnchorPane) fxmlLoader.load(url.openStream());
Pane.getChildren().clear();///name of pane where you want to put the fxml
Pane.getChildren().add(page);
}
catch (IOException e) {
e.printStackTrace();
}
}https://stackoverflow.com/questions/21252007
复制相似问题