我使用javafx爲我的程序創建GUI,並創建了自定義按鈕ComponentButton
。這擴展了javafx.scene.control.Button
,到目前爲止唯一真正的區別是該按鈕有一個額外的成員變量。我希望我的按鈕的所有實例都有一個動作偵聽器附加到它們,偵聽器將使用成員變量。因此,我希望能夠在按鈕的類定義中定義動作偵聽器。到目前爲止,我一直無法做到這一點,我可以爲按鈕的每個實例創建一個動作監聽器,但是由於會有很多它們,我寧願避免它。在自定義按鈕類中定義動作偵聽器
任何想法或替代方法非常感謝,在此先感謝。
編輯:回答了
我決定把視圖(使用了該按鈕位置)實施EventHandler<ActionEvent>
。這意味着我可以再添加方法
@Override
public void handle(final ActionEvent event)
{
//Do stuff
}
這就意味着,我可以打電話給button.setOnAction(this);
爲執行動作
「我可以做一個動作偵聽器的按鈕的每個實例,但一樣會有一個很多人我寧願避免它「。你爲什麼要避免它?而「至今我一直無法完成這項工作」並不是一個問題。究竟出了什麼問題? –
當然'this.setOnAction(this);',not'button.setOnAction(this);'? –
我在UI類中使用它,並根據需要創建按鈕的循環 –