Я хочу установить для параметра «Выбор радио» значение «Сим» по умолчанию, как мне это сделать?
Мой пользовательский класс Radio Choice:
package com.sges.web.components;
import java.util.ArrayList;
import java.util.Arrays;
import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
import org.apache.wicket.markup.html.form.RadioChoice;
import org.apache.wicket.model.IModel;
public class RadioSimNao extends RadioChoice<Boolean> {
private static final long serialVersionUID = 1L;
public RadioSimNao(String id, IModel<Boolean> model) {
super(id, model, new ArrayList<Boolean>(Arrays.asList(Boolean.TRUE, Boolean.FALSE)), new BooleanChoiceRenderer());
add(AjaxFormChoiceComponentUpdatingBehavior.onUpdateChoice(target -> target.add(getThis())));
}
private RadioSimNao getThis() {
return this;
}
}
Здесь я его инициализирую.
dispoeGeradoresEmergenciaChoice = new RadioSimNao("dispoeGeradoresEmergencia",null);
dispoeGeradoresEmergenciaChoice.setEnabled(false);
dimensao_enquadramento_container.add(dispoeGeradoresEmergenciaChoice);
super(id, model, new ArrayList<Boolean>(Arrays.asList(Boolean.TRUE, Boolean.FALSE)), new BooleanChoiceRenderer());
Здесь вы говорите, что RadioChoice может иметь два возможных значения: TRUE
и FALSE
2.
dispoeGeradoresEmergenciaChoice = new RadioSimNao("dispoeGeradoresEmergencia",null);
Здесь вы передаете null
в качестве модели для выбранного значения. Если вы хотите предварительно выбрать любое из возможных значений, вы должны передать Model.of(true)
или Model.of(false)
Непонятно, что вы имеете в виду под Sim
в I want to set my Radio Choice to "Sim" by default
. "Sim" не находится в возможном значении (TRUE | FALSE).
Я передавал ноль, потому что не знал, что туда добавить, чтобы сделать выбор по умолчанию. Установка Model.of(true) помогла сделать его выбранным на «Sim», также известным как true. My RadioSimNao автоматически меняет true на Sim и false на Nao. Большое спасибо.