JavaFX ToggleButton,如果它作为“状态”单击,有没有方法传递?
是否有方法将切换按钮的状态作为参数/参数传递?我希望它能像这样工作: 我按下按钮。 2按开始! 3根据按下哪个按钮,它会被传递,所以当我按下GO时会有不同的结果JavaFX ToggleButton,如果它作为“状态”单击,有没有方法传递?,java,eclipse,javafx,java-8,Java,Eclipse,Javafx,Java 8,是否有方法将切换按钮的状态作为参数/参数传递?我希望它能像这样工作: 我按下按钮。 2按开始! 3根据按下哪个按钮,它会被传递,所以当我按下GO时会有不同的结果 谢谢 这里有一些代码供参考,如果不是您想要的,请告诉我 public class Foo extends Application{ @Override public void start(Stage primaryStage) throws IOException{ ToggleGroup group = new Tog
谢谢 这里有一些代码供参考,如果不是您想要的,请告诉我
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);
}
}
你问的不是很清楚。您不能在GO按钮的事件处理程序中检查切换按钮的选定状态吗?或者,如果切换按钮都在同一个切换组中,只需检查toggleGroup.getSelectedToggle的值?谢谢,这就是我想要的答案。切换selectedTogger=group.getSelectedToggle;但是,每当我在事件处理程序中放置button.getSelectedToggle时,它都会说我不能使用它,除非我将其作为“最终”使用。有什么特别的原因吗?@stevek你应该编辑你的问题,明确这是你一直坚持的部分。否则,该问题和答案对其他用户的用处非常有限。@stevek欢迎您。我很乐意帮助你。我们必须在Java7中使用final,但在Java8中没有必要使用final。我的代码是在Java8下编写的,所以我没有把最后一个放进去。这是你想知道的答案链接