如下所述,我有一个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,我希望我的请求非常明确。
答案 0 :(得分:3)
问题似乎出现在你的FXML文件中。您可能正在执行以下操作:<Button text="Button" onAction="#MyFuction"/>
而onAction
处理程序应接受扩展javafx.event.Event
的类型的单个参数
答案 1 :(得分:1)
尝试将@FXML
放在MyFuction()
方法前面。