fxml ファイルの onAction メソッドにパラメータを渡す方法はありますか? あるいは、どうにかして onAction メソッドを呼び出したコンポーネントの fx:id を取得できますか?
私は同じことを行うべきいくつかのボタンを持っています.ids button1 - button5 を持つ5つのボタンは、押されたときに対応する番号1-5を出力する必要があります。この変数まで同一の 5 つの onAction メソッドを使用したくありません。
どんな助けでも感謝します、
fxml ファイルの onAction メソッドにパラメータを渡す方法はありますか? あるいは、どうにかして onAction メソッドを呼び出したコンポーネントの fx:id を取得できますか?
私は同じことを行うべきいくつかのボタンを持っています.ids button1 - button5 を持つ5つのボタンは、押されたときに対応する番号1-5を出力する必要があります。この変数まで同一の 5 つの onAction メソッドを使用したくありません。
どんな助けでも感謝します、
ハンドラーを 1 つだけ呼び出します。actionEvent.source は、イベントを発生させたオブジェクトです。
これを試して:
myButton1.setOnAction(new MyButtonHandler());
myButton2.setOnAction(new MyButtonHandler());
private class MyButtonHandler implements EventHandler<ActionEvent>{
@Override
public void handle(ActionEvent evt) {
if (evt.getSource().equals(myButton1)) {
//do something
} else if (evt.getSource().equals(myButton2)) {
//do something
}
}
}
または:
myButton1.addEventHandler(ActionEvent.ACTION, new MyButtonHandler());
myButton2.addEventHandler(MouseEvent.CLICKED, new MyButtonHandler());
private class MyButtonHandler implements EventHandler<Event>{
@Override
public void handle(Event evt) {
if (evt.getSource().equals(myButton1)) {
//do something
} else if (evt.getSource().equals(myButton2)) {
//do something
}
}
}