从toggleGroup javafx

时间:2017-06-08 12:50:25

标签: java javafx

我有一个ToggleGroup按钮,可以是3个按钮,togglename选择答案或2个按钮,其中togglename为true或false。事实上,切换组包含对应于asnwers的按钮(从问题到我在javafx中制作的测验游戏)。在click事件中,我想找到按下的按钮,并在actionlistener中返回相应的值。

我的代码如下:`

groupAnswerQ = new ToggleGroup();

class MyChooseAnswerButton extends ToggleButton {
     public MyChooseAnswerButton() {
        setToggleGroup(groupAnswerQ);
        setWrapText(true);
     }
}

SanswerButton1 = new MyChooseAnswerButton();
SanswerButton2 = new MyChooseAnswerButton();
SanswerButton3 = new MyChooseAnswerButton();

groupAnswerQ.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
  public void changed(ObservableValue<? extends Toggle> ov, Toggle toggle, Toggle new_toggle) {
     if (new_toggle != null) {
                textAnswerQ = (String) groupAnswerQ.getSelectedToggle().getUserData();
                System.out.println("textAnswerQ : " + textAnswerQ);
    }
  }
});`

这是针对选择答案的情况(对于真或假是类似的代码)。我的问题是,当检测到事件时,即使new_toggle不为null,textAnswerQ也始终返回null。我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

参考here

您是否有理由检查new_toggle是否为空?传递给new_toggle变量的是什么?如果您的userData没有问题,请尝试检查 groupAnswerQ.getSelectedToggle()是否为空。