DropDownChoice设置选择的特定索引

Tap*_*ose 2 java wicket drop-down-menu

我有一个DropDownChoice:

       DropDownChoice timePeriod = new DropDownChoice("timePeriod", Arrays.asList(new TimePeriod(1, "Weekly"), new TimePeriod(2, "Bi-Weekly"), new TimePeriod(3, "Semi-Monthly"), new TimePeriod(4, "Monthly"), new TimePeriod(5, "Yearly")), new IChoiceRenderer() {

            private static final long serialVersionUID = 10102L;

            @Override
            public String getIdValue(Object object, int index) {
                return ((TimePeriod) object).getId() + "";
            }

            @Override
            public Object getDisplayValue(Object object) {
                return ((TimePeriod) object).getPeriodType();
            }
        });
        timePeriod.setNullValid(false);
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 如何将选定的索引设置为2或任何其他?
  2. 如何删除第一个默认空白选项?

谢谢.

Pop*_*ops 5

您应该能够通过使用PropertyModel而不是硬编码下拉列表的值来设置所选索引.我现在无法测试,但它会是这样的

String timePeriodValue = "Bi-Weekly";

DropDownChoice timePeriod = new DropDownChoice("timePeriod",
  new PropertyModel(this, "timePeriodValue"),
  Arrays.asList(/* your options */),
  new IChoiceRenderer() {
    // ...
// Again, this is pseudocode only
Run Code Online (Sandbox Code Playgroud)

作为奖励,设置默认值的行为应该消除空白选项问题.