我有这个方法将创建 2 个文本字段和一个组合框。 但我在返回不同的值时遇到问题,因为它给了我一个错误“类型不匹配:无法从 ComboCustom 转换为 FormComponent”
两个文本字段工作得很好,但我不明白为什么组合框不起作用以及如何使其工作。 预先感谢。
private static FormComponent<?>[] criaComponentes(FiltroListaEquipamentosASerSubstituido2 filtro) {
ComboCustom<EqpMarca> marca = new ComboCustom<EqpMarca>("marca", new PropertyModel<EqpMarca>(filtro, "marca"), list, new ChoiceRenderer<EqpMarca>() {
private static final long serialVersionUID = 1L;
@Override
public String getDisplayValue(EqpMarca est) {
return est.getDesignacao();
}
@Override
public String getIdValue(EqpMarca est, int arg) {
return String.valueOf(est.getIdMarca());
}
});
marca.add(new AjaxFormComponentUpdatingBehavior(HtmlTag.ONCHANGE) {
private static final long serialVersionUID = 1L;
@Override
protected void onUpdate(AjaxRequestTarget target) {
target.add(marca);
}
});
return new FormComponent<?>[] {
new TextField<String>("nome", new PropertyModel<String>(filtro, "nome")),
marca,
new TextField<String>("modelo", new PropertyModel<String>(filtro, "modelo"))
};
}