如果我尝试使用名为“ vorige”的按钮加载屏幕,则会出现错误。
这是我得到的错误:

java - 事件处理程序不在 namespace 中-LMLPHP

我觉得很奇怪,因为注销按钮的工作方式完全相同,并且那里没有错误。如果我在FXML文件中删除onAction方法,该异常将消失。

亲切的问候

Fietsscherm控制器

@FXML
private Button buVorige;

/**
 * Initializes the controller class.
 */
    public void setMain(Vivesbike main) {
     this.main = main;
}

/**
 *
 * @param vorigeEvent
 */
public void Vorige(ActionEvent vorigeEvent){
    main.loadBeginscherm();
  }


Fietsscherm FXML

<Button fx:id="buVorige" layoutX="31.0" layoutY="23.0" mnemonicParsing="false" onAction="#Vorige"    prefHeight="39.0" prefWidth="102.0" text="Vorige" />


这个功能主要是

    public void loadBeginscherm(){
    try {
        FXMLLoader loader = new FXMLLoader(this.getClass().getResource("view/Beginscherm.fxml"));
        BeginschermController controller = new BeginschermController();
        loader.setController(controller);
        Parent root = loader.load();
        controller.setMain(this);
        Scene scene = new Scene(root);
        stage.setScene(scene);
        stage.centerOnScreen();
        stage.setTitle("Keuzescherm");
        stage.show();
    } catch (IOException ex) {
        System.out.println("Fout tijdens het laden van het beginscherm: "+ex.getMessage());
    }
}

        public void loadFietsscherm(){
    try {
        FXMLLoader loader = new FXMLLoader(this.getClass().getResource("view/Fietsscherm.fxml"));
        BeginschermController controller = new BeginschermController();
        loader.setController(controller);
        Parent root = loader.load();
        controller.setMain(this);
        Scene scene = new Scene(root);
        stage.setScene(scene);
        stage.centerOnScreen();
        stage.setTitle("Fietsscherm");
        stage.show();
    } catch (IOException ex) {
        System.out.println("Fout tijdens het laden van het fietsscherm: "+ex.getMessage());
    }
}

最佳答案

在loadFietsscherm方法中,将BeginschermController连接到Fietsscherm.fxml,但是我确定FietsschermController隐含在其中。

10-05 22:45