javafx-2 - 按下按钮时更改场景 Fxml

标签 javafx-2 fxml

我有 2 个 fxml 文件 mainFxml.fxml 和 secondary.fxml。主 fxml 有一个带有 fx:id="change"的按钮。我想在单击更改按钮时更改场景。 mainFxml Controller 代码

public void onChangeButtonAction(event e){
  Node node=(Node) event.getSource();
  Stage stage=(Stage) node.getScene().getWindow();
  Parent root = FXMLLoader.load(getClass().getResource("second.fxml"));/* Exception */
  Scene scene = new Scene(root);
  stage.setScene(scene);
  stage.show();


}

但是当我按下按钮更改时,它会抛出异常,因为没有指定资源。帮帮我..

堆栈跟踪

No resources specified.
file:/E:/Projects/javaFx/demo/dist/demo.jar!/demo/sucess.fxml:14
  at javafx.fxml.FXMLLoader$Element.processPropertyAttribute(FXMLLoader.java:305)
  at javafx.fxml.FXMLLoader$Element.processInstancePropertyAttributes(FXMLLoader.java:197)
  at javafx.fxml.FXMLLoader$ValueElement.processEndElement(FXMLLoader.java:588)
  at javafx.fxml.FXMLLoader.processEndElement(FXMLLoader.java:2430)
  at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2136)
  at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2028)
  at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2742)
  at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2721)
  at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2707)
  at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2694)
  at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2683)
  at demo.myFirstFxmlController.onSuccess(myFirstFxmlController.java:130)
  at demo.myFirstFxmlController.OnSubmitAction(myFirstFxmlController.java:53)

最佳答案

它位于类路径上,因此应该在资源前面加上正斜杠,即 /第二.fxml

这是假设它不在包中。确保您的构建系统也将其与类文件一起复制到输出目录。

关于javafx-2 - 按下按钮时更改场景 Fxml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12928751/

相关文章:

java - 强制更新 UI

java - 如何在条形图 javafx 顶部显示条形图值

基于javafx和fxml的透明背景

java - 在 JavaFX 2.0 单元格的文本属性中突出显示子字符串

javafx - 传递参数JavaFX FXML

JavaFx无法获取相对于场景的节点坐标

javafx-2 - JavaFX如何使用CSS更改tableview列的背景颜色?

java - 无法在 Netbeans JavaFX 项目中集成使用 SceneBuilder 生成的 FXML

css - 如何在 FXML 中添加 CSS 样式表

java - 将面板添加到 fxml Pane