2017-04-08 25 views
0

我想讓一個fxml菜單對點擊作出反應。這可能嗎?Javafx:使用菜單onclick

FXML:

<Menu fx:id="clickableMenu" 
     mnemonicParsing="false" 
     text="Menu" 
     onAction="#clickableMenu"> 
</Menu> 

JavaFX的:

@FXML Menu clickableMenu; 

public void clickableMenu(ActionEvent e){ 
    System.out.println("Menu clicked"); 
} 

這是我的代碼,但是當我啓動應用程序,點擊菜單上不會產生任何結果。我的猜測是菜單對象已經建立了無所作爲的行爲,這正在壓倒我的嘗試。有沒有辦法解決這個問題,而不會在其他地方突破菜單?在這個特定的情況下,我不在乎保留內置的無爲。

+0

你確定這是一個明智的UI決定嗎?爲什麼不使用'MenuItem'?無論如何 - 您可以使用['onShowing']逃脫(https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/Menu.html#onShowingProperty)。 – Itai

+0

我猜你沒有使用膠布Scenebuilder。如果不是,你應該。 – Sedrick

回答

0

地址:@FXML

@FXML 
public void clickableMenu(ActionEvent e){ 
    System.out.println("Menu clicked"); 
} 
0

添加@FXML註解你的方法如下

@FXML 
public void clickableMenu(){ 
    System.out.println("Menu clicked"); 
} 

而且你可以刪除的操作事件。這並不重要。