事件处理程序不在命名空间中

时间:2016-08-25 18:12:05

标签: java netbeans

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

enter image description here

我发现它很奇怪,因为注销按钮的工作方式完全相同,并且没有错误。如果我删除FXML文件中的onAction方法,则异常消失。

亲切的问候

Fietsschermcontroller

@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());
    }
}

1 个答案:

答案 0 :(得分:1)

在loadFietsscherm方法中,您将BeginschermController连接到Fietsscherm.fxml,但我确信FietsschermController隐含在那里。