引数/パラメータとしてトグルボタンのステータスを渡す方法はありますか?私はこのシナリオのように動作するようにしたい:JavaFX ToggleButtonは、「ステータス」としてクリックされた場合に渡す方法はありますか?
1)ボタンを押してください。 2)[GO]を押します。 3)どのボタンが押されたかに応じて、GOを押すと異なる結果が出るように通過します!
ありがとうございます!
引数/パラメータとしてトグルボタンのステータスを渡す方法はありますか?私はこのシナリオのように動作するようにしたい:JavaFX ToggleButtonは、「ステータス」としてクリックされた場合に渡す方法はありますか?
1)ボタンを押してください。 2)[GO]を押します。 3)どのボタンが押されたかに応じて、GOを押すと異なる結果が出るように通過します!
ありがとうございます!
ここに参考になるコードがあります。希望でない場合は、教えてください。
public class Foo extends Application{
@Override
public void start(Stage primaryStage) throws IOException{
ToggleGroup group = new ToggleGroup();
ToggleButton tb1 = new ToggleButton("ToggleButton 1");
ToggleButton tb2 = new ToggleButton("ToggleButton 2");
ToggleButton tb3 = new ToggleButton("ToggleButton 3");
tb1.setToggleGroup(group);
tb2.setToggleGroup(group);
tb3.setToggleGroup(group);
Button btn = new Button("GO");
btn.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent event){
Toggle selectedTogger = group.getSelectedToggle();
if(selectedTogger == tb1){
//outcome 1 (ToggleButton1 selected)
}else if(selectedTogger == tb2){
//outcome 2 (ToggleButton2 selected)
}else if(selectedTogger == tb3){
//outcome 3 (ToggleButton3 selected)
}else{
//outcome 4 (No ToggleButton selected)
}
}
});
VBox vbox = new VBox();
vbox.getChildren().addAll(tb1, tb2, tb3, btn);
primaryStage.setScene(new Scene(vbox));
primaryStage.show();
}
public static void main(String[] args){
launch(args);
}
}
ありがとう、これは私が探していた答えです。 "トグルselectedTogger = group.getSelectedToggle();" しかし、私がイベントハンドラにbutton.getSelectedToggleを置くときはいつも、私が「final」としてそれをしなければ、私はそれを使うことができないと言います。特定の理由はありますか? – stevek
@stevek質問を編集して、あなたが執着していた部分を明確にする必要があります。そうでなければ、質問と回答は他のユーザーにとっては非常に限定されています。 –
@stevek ようこそ。 私はあなたを喜んで支援します。 私たちはJava 7で "final"を使用する必要がありますが、Java 8では必要ありません。私のコードはJava 8の下にありますので、 "final"を入れませんでした。 ここをクリックして答えを知りたい。 [Javaの内部クラスには「最終的な」外部インスタンス変数が必要な理由(https://stackoverflow.com/questions/3910324/why-java-inner-classes-require-final-外部インスタンス変数) – yab
あなたが求めていることは本当に明確ではありません。 "GO"ボタンのイベントハンドラのトグルボタンの 'selected'状態を確認できませんか?または、トグルボタンがすべて同じトグルグループにある場合は、 'toggleGroup.getSelectedToggle()'の値をチェックします。 –