2017-08-31 43 views
0

我有一組ToggleButtons需要找出它們的ID。目前,我可以檢查這樣的getSource() id和toString()方法:在JavaFX中從ActionEvent獲取ID

@FXML 
public void btnCell(ActionEvent actionEvent) { 
    System.out.println(actionEvent.getSource()); 
} 

打印:ToggleButton[id=btn00, styleClass=toggle-button]''

我可以提取ID,而不依賴於該字符串的一些黑幕子busniess?

+0

請嘗試[此處]顯示的方法(https://stackoverflow.com/a/7706684/230513),然後請[編輯]您的問題以包含顯示您修改方法的[mcve]。 – trashgod

+0

這個例子對我來說沒用,因爲我不知道按鈕在哪一行或哪一列。 – knut5

+2

如果你真的想要這個id,只需將源代碼下傳到'Node'並調用'getId()'。但是,爲每個按鈕註冊一個不同的監聽器會更好(因此您可以自動知道哪個按鈕觸發了該事件,因爲您知道監聽器註冊了哪個按鈕)。這是在上面鏈接的答案中完成的方式。目前還不清楚爲什麼你不能使用這種方法。 –

回答

0

如果這仍然相關,我使用一大堆程序生成的按鈕(表示POS應用程序中的菜單項),通過MyButton.setUserData(MyProdID)標識,該數據庫從產品ID加載到數據庫表中。然後你可以通過ActionEvent處理程序中的MyButton.getUserData()來獲得它。