Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaFX ToggleButton,如果它作为“状态”单击,有没有方法传递?_Java_Eclipse_Javafx_Java 8 - Fatal编程技术网

JavaFX ToggleButton,如果它作为“状态”单击,有没有方法传递?

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

是否有方法将切换按钮的状态作为参数/参数传递?我希望它能像这样工作:

我按下按钮。 2按开始! 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);
  }
}

你问的不是很清楚。您不能在GO按钮的事件处理程序中检查切换按钮的选定状态吗?或者,如果切换按钮都在同一个切换组中,只需检查toggleGroup.getSelectedToggle的值?谢谢,这就是我想要的答案。切换selectedTogger=group.getSelectedToggle;但是,每当我在事件处理程序中放置button.getSelectedToggle时,它都会说我不能使用它,除非我将其作为“最终”使用。有什么特别的原因吗?@stevek你应该编辑你的问题,明确这是你一直坚持的部分。否则,该问题和答案对其他用户的用处非常有限。@stevek欢迎您。我很乐意帮助你。我们必须在Java7中使用final,但在Java8中没有必要使用final。我的代码是在Java8下编写的,所以我没有把最后一个放进去。这是你想知道的答案链接