从JavaFX中的ActionEvent获取id

时间:2017-08-31 08:12:22

标签: javafx objectid

我有一组ToggleButtons需要找出他们的身份证明。目前,我可以检查getSource()toString()方法中的ID,如下所示:

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

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

我是否可以在不依赖该字符串的某些阴影子字符串的情况下提取id?

2 个答案:

答案 0 :(得分:0)

如果这仍然相关,我使用一大堆以编程方式生成的按钮(表示POS应用程序中的菜单项),通过MyButton.setUserData(MyProdID)识别,该数据库是从数据库表中的产品ID加载的。然后,您可以使用ActionEvent处理程序中的MyButton.getUserData()来获取它。

答案 1 :(得分:0)

希望有帮助:

import javafx.scene.Node;
.... 
@FXML
public void btnCell(ActionEvent actionEvent) {
   final Node source = (Node) actionEvent.getSource();
   String id = source.getId();
   Scene scene = source.getScene();
   scene.lookup("#"+id).getStyleClass() ;
}