我道歉,因为我理解这个问题本质上有点宽泛。我想要实现的是能够在满足特定条件时加载不同的FXML文件(位于不同的包中),例如当按下按钮或满足某个条件时。到目前为止,我已经设法在按下按钮时加载文件。
@FXML
private AnchorPane rootPane;
@FXML
private Button btn;
@FXML
private void loadLoginWindow(javafx.event.ActionEvent event) throws IOException {
AnchorPane pane = FXMLLoader.load(getClass().getResource("login/MainWindow.fxml"));
rootPane.getChildren().setAll(pane);
}
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
它工作正常,但只有一个按钮和一个处理程序,只要添加另一个按钮就停止工作,似乎只有一个按钮可以工作。很明显,我错过了一堆重要信息,但我所看过的每一个教程都没有解决这一问题,因为他们甚至没有达到目标(它们都围绕着一个文件,或者他们依赖于隐藏和显示同一文件中的窗格)
有没有人有任何好的教程或综合指南来做这类事情?
提前致谢。
答案 0 :(得分:1)
可能发生的情况是FXML文件中控制器的链接可能不正确。即使文件位置可能不存在,应用程序仍将构建。
<AnchorPane id="AnchorPane" fx:controller="main.MainController">
fx:controller中的路径需要正确。
干杯!