我想将我的自定义按钮与AjaxEventBehavior一起添加到MessageDialog,我可以通过扩展DialogButton类添加简单的自定义按钮而不使用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");
对话框窗口关闭,如何解决?