MessageDialog中的自定义按钮

时间:2017-09-20 08:45:35

标签: wicket

我想将我的自定义按钮与AjaxEventBehavior一起添加到MessageDialog,我可以通过扩展DialogBu​​tton类添加简单的自定义按钮而不使用AjaxEventBehavior,但这将是无用的按钮,带有侦听器,任何人都没有怎么办? 这是我的代码:

    import com.googlecode.wicket.jquery.ui.widget.dialog.MessageDialog;
    import org.apache.wicket.ajax.AjaxRequestTarget;
    import 
    org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
    import org.apache.wicket.model.Model;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;

    import java.util.List;

    public class TipOfTheDayDialog extends MessageDialog {
    private static final Logger log = 
    LoggerFactory.getLogger(TipOfTheDayDialog.class);

    Model<String> model = null;
    List<DialogButton> dialogButtons =null;
    public TipOfTheDayDialog(String id, Model<String> model,List<DialogButton> dialogButtons) {
        super(id, Model.of("Совет дня"), model, dialogButtons);
        this.model = model;

    }

    @Override
    public void onClose(IPartialPageRequestHandler handler, DialogButton button) {}

    @Override
    public void onClick(AjaxRequestTarget target, DialogButton button)
    {
        if(!button.getName().equals("next")){
        super.close(target,button);
        this.close(target, button);
        }else {
            model.setObject("another message");
            target.add(this);

        }
    }

}

我决定覆盖方法onclick而不是添加带有自己的监听器的按钮,但是现在我有另一个问题,当我通过这行代码更改消息时,我无法在没有关闭的情况下更改对话框的消息:{ {1}}然后通过以下代码将其添加到目标:model.setObject("another message");对话框窗口关闭,如何解决?

0 个答案:

没有答案