JavaFXで押したボタンのID取得

f:id:nazuna_0124:20170327183448p:plain

寝る前に調べたらおもったよりはまったので備忘録。

押されたボタンのIDとテキスト取得です。


フォーム全般ではこれ使って分岐することが多いのですが、

どーにも見つからない…


なにか他の方法でもあるんでしょうか。

ExcelAccessJavascriptどれでもそこそこはまりました。


動作はこちら

f:id:nazuna_0124:20170423003208g:plain


コードはこんなかんじ


    @FXML
    private void handleButtonAction(ActionEvent event) {
        Button b = (Button)event.getSource();
        label.setText("押したボタンのID:" + b.getId() + "\n"
        + "ボタンのテキスト:" + b.getText());  
    }


Buttonオブジェクトに1回キャストしないとだめみたいなのです。


(Button)event.getSource().getId() とか

event.getSource().getId() なんてのは

できませんでした。


追記

コメントで頂きました。キャストをかっこでくくると1行でいけます。

System.out.println(((Button)event.getSource()).getId());