2012-09-05 92 views
0

如下所述,我有一個EventHandler鏈接到TextField(text變量),我想從該處理程序中調用同一類中存在的函數(MyFunction ),所以我得到的錯誤這個帖子(標題):javafx.fxml.LoadException:未找到控制器方法「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

你的Example類是否實現javafx.fxml.Initializable?是你的「主類」示例類嗎? –

+0

是的,對不起,我忘記了工具的一部分! – Adil

回答

3

該問題似乎在您的FXML文件中。你可能是這樣做的:<Button text="Button" onAction="#MyFuction"/>onAction處理程序應該接受一個類型的單個參數,可以擴展javafx.event.Event

+0

我發現了這個問題,它與您所說的非常相似。謝謝 – Adil

1

試着把@FXML放在你的MyFuction()方法的前面。

+0

添加@FXML後沒有新東西,謝謝! – Adil