4

我有一个循环来构建我们的问卷。我有一个函数,我称之为构建正确的类型。这是构建组合框的部分:

Field<?> field = null;
if (item instanceof MultipleChoiceQuestionDTO) {
  MultipleChoiceQuestionDTO multipleChoice = (MultipleChoiceQuestionDTO) item;
  SimpleComboBox<String> cmbQuestion = new SimpleComboBox<String>();
  String prompt = multipleChoice.getPrompt();
  cmbQuestion.setFieldLabel(ImageViewer.formatPrompt(prompt));
  List<String> choices = new ArrayList<String>();
  choices.add(prompt);
  for (String choice : multipleChoice.getPossibleAnswers()) {
    choices.add(choice);
  }
  cmbQuestion.add(choices);
  cmbQuestion.setEditable(false);
  cmbQuestion.setForceSelection(true);
  cmbQuestion.setSimpleValue(prompt);
  field = cmbQuestion;
}

我想为提示设置默认答案,以便稍后进行测试。问题是这没有在我的组合框中设置选定的值。我错过了什么?

4

2 回答 2

3

假设你有一个“答案”。您可以从List<String> choices.

int answerIndex = choices.indexOf(answer);
simpleComboBox.select(answerIndex);

或者您可以直接使用simpleComboBox.select(answer);以防万一String

如果您想显示默认文本,则可以使用

simpleComboBox.setEmptyText("Select an answer....");
于 2012-12-27T22:19:43.650 回答
1

您可以使用以下代码执行此操作

String answer = simpleComboBox.getValue().toString(); //or default value
simpleComboBox.setSimpleValue(answer);
于 2013-01-23T14:52:48.627 回答