如何在 FormComponent 方法中返回不同的值?

问题描述 投票:0回答:1

我有这个方法将创建 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"))
        };
        
    }
java function return-value wicket return-type
1个回答
0
投票

ComboCustom
似乎是 IChoiceRenderer 的实现。它并不是真正的 FormComponent

© www.soinside.com 2019 - 2024. All rights reserved.