javafx.fxml.LoadException:找不到控制器方法“MyFunction”

时间:2012-09-05 11:14:10

标签: event-handling javafx-2

如下所述,我有一个EventHandler链接到TextField(text变量),我想从这个处理程序中调用一个函数,该函数存在于同一个类(MyFunction)中,所以我得到了错误(这篇文章的标题):

代码:

class Example implements Initializable{
  //...
  public void initialize(URL fxmlFileLocation, ResourceBundle resources) {
    //...
    text.setOnKeyPressed(new EventHandler<KeyEvent>(){
        @Override
        public void handle(KeyEvent event) {
            if(event.getCode() == KeyCode.ENTER){

                MyFunction(text.getText());
            }
        }
    });
  //...
  }//function initialize ends here

  public void MyFuction(String text){
      //...
  }
 //...
 }//Class ends here

我正在使用javaFX 2.2,我希望我的请求非常明确。

2 个答案:

答案 0 :(得分:3)

问题似乎出现在你的FXML文件中。您可能正在执行以下操作:<Button text="Button" onAction="#MyFuction"/>onAction处理程序应接受扩展javafx.event.Event的类型的单个参数

答案 1 :(得分:1)

尝试将@FXML放在MyFuction()方法前面。