【问题标题】:togglegroup.getSelectedToogle() always returns null JavaFXtogglegroup.getSelectedToogle() 始终返回 null JavaFX
【发布时间】:2019-01-25 09:43:11
【问题描述】:

我有这段代码可以从选定的ToggleGroup 中获取值。

但是,当我运行此代码时,我得到一个空列表。我似乎无法弄清楚如何解决这个问题。

   public TestPane(TestService service) {
        this.service = service;

        this.setPrefHeight(300);
        this.setPrefWidth(750);

        this.setPadding(new Insets(5, 5, 5, 5));
        this.setVgap(5);
        this.setHgap(5);

        questionField = new Label();
        vragen = service.getAllQuestions();
        Question question = vragen.iterator().next();
        questionField.setText(question.getQuestion());
        vragen.remove(question);

        add(questionField, 0, 0, 1, 1);

        statementGroup = new ToggleGroup();
        Set<String> statements = question.getStatements();
        System.out.println(statements);
        int i = 1;
        for (String st : statements) {
            radio = new RadioButton(st);
            radio.setText(st);
            radio.setUserData(st);
            radio.setToggleGroup((ToggleGroup) statementGroup.getUserData());
            add(radio, 0, i++);
        }

        submitButton = new Button("Submit");
        add(submitButton, 0, i);
        submitButton.setOnAction(new SubmitHandler(this,service));
    }

    public List<String> getSelectedStatements() {
        List<String> selected = new ArrayList<String>();
        if (statementGroup.getSelectedToggle() != null) {
            selected.add(statementGroup.getSelectedToggle().getUserData().toString());
        }
        return selected;
    }

【问题讨论】:

    标签: java javafx toggle


    【解决方案1】:

    以下行不正确:

    radio.setToggleGroup((ToggleGroup) statementGroup.getUserData());
    

    正确的调用是:

    radio.setToggleGroup(statementGroup);
    

    回答“为什么”这个问题:ToggleGroupgetSelectedToggle 方法一直返回 null,因为没有与之关联的切换,因为

    (ToggleGroup) statementGroup.getUserData()
    

    返回null,因此实际上radio.setToggleGroup(null)将被执行,这意味着:RadioButton没有切换组。

    【讨论】:

      猜你喜欢
      • 2016-05-31
      • 2015-08-15
      • 2012-03-18
      • 2016-11-04
      • 2016-07-28
      • 2010-11-08
      • 2017-11-26
      • 2015-02-23
      • 2017-11-16
      相关资源
      最近更新 更多