如何让SimpleComboBox显示我的默认值

时间:2012-12-20 15:22:18

标签: java gxt

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

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;
}

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

2 个答案:

答案 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);