我有一个循环来构建我们的问卷。我有一个函数,我称之为构建正确的类型。这是构建组合框的部分:
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;
}
我想设置提示的默认答案,以便稍后我可以测试。问题是这不是在我的组合框上设置选定的值。我错过了什么?
答案 0 :(得分:3)
假设你有一个“答案”。您可以从List<String> choices
获取索引。
int answerIndex = choices.indexOf(answer);
simpleComboBox.select(answerIndex);
或者,如果simpleComboBox.select(answer);
String
如果您想显示默认文字,则可以使用
simpleComboBox.setEmptyText("Select an answer....");
答案 1 :(得分:1)
您可以使用以下代码执行此操作
String answer = simpleComboBox.getValue().toString(); //or default value
simpleComboBox.setSimpleValue(answer);