4
我有一個FXML文件,有很多控制器方法,我發送到一個正常的控制器。然而,我最近添加了幾個小處理程序,它們做的事情非常簡單,並且想知道我是否可以在FXML文件本身中使用JavaScript來處理它們。但是,我似乎遇到了一個問題:我無法找到一個記錄的方式來獲取JavaScript中的控制器對象。我怎樣才能獲得在JavaScript的控制器對象? (不,我不能用靜態的方法,因爲我有很多這樣的控制器在對大量的對象)javafx 2 JavaScript的API - 獲取Java控制器
目前代碼使用Java: FXML文件:
...
<GridPane fx:id="moveOverlay" onMouseClicked="#mouseOverlayClicked" ...>
....
和Java控制器:
...
@FXML
private void mouseOverlayClicked(MouseEvent e)
{
if (e.getClickCount() > 1)
{
this.enableNestedEditing();
}
else if (e.isControlDown())
{
this.selectSelf();
}
}
...
期望FXML:
...
<fx:script>
var controller = [what goes here?];
function mouseOverlayClicked(e) {
if (e.getClickCount() > 1) {
controller.enableNestedEditing();
else if (e.isControlDown()) {
controller.selectSelf();
}
</fx:script>
...
<GridPane fx:id="moveOverlay" onMouseClicked="mouseOverlayClicked" ...>
...
,並沒有相應的事件句柄r(除了其他方法)
阿優!這有記錄嗎? – byteit101 2013-04-23 20:55:54
如果是這樣,我找不到它。我通過試驗和錯誤發現了這一點。 – Sebastian 2013-04-24 10:20:27