Java Wicket模式窗口未正确显示
我正在尝试为我的应用程序创建一个模式窗口,但不幸的是,我无法这样做 我有一个扩展网页的页面,我添加了一个扩展面板的面板。页面和面板分别书写;也就是说,在panel.java和page.java中。现在,我在的帮助下为面板添加了一个模态窗口。但是当页面呈现时,通过检查该页面的元素,我看到wicket:id为modal1的div具有属性script=display:none。我不知道该怎么办。任何信息都会对我很有帮助 还有一件事:你呢Java Wicket模式窗口未正确显示,java,wicket,Java,Wicket,我正在尝试为我的应用程序创建一个模式窗口,但不幸的是,我无法这样做 我有一个扩展网页的页面,我添加了一个扩展面板的面板。页面和面板分别书写;也就是说,在panel.java和page.java中。现在,我在的帮助下为面板添加了一个模态窗口。但是当页面呈现时,通过检查该页面的元素,我看到wicket:id为modal1的div具有属性script=display:none。我不知道该怎么办。任何信息都会对我很有帮助 还有一件事:你呢 return new ModalContent1Page(Mod
return new ModalContent1Page(ModalWindowPage.this.getPageReference(), modal1);
及
同样的?
编辑:
问题解决了。事实上,当我问这个问题时,我当时没有密码。我一直在学习的教程,但没有成功,因为我使用的是wicket 1.3.1,所以PageReference类在那里不可用。因此,我将其解为:
final ModalWindow modalWindow;
add(modalWindow = new ModalWindow("modalVideo"));
modalWindow.setCookieName("modal-video");
modalWindow.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
modalWindow.setResizable(false);
modalWindow.setInitialHeight(215);
modalWindow.setInitialWidth(215);
modalWindow.setHeightUnit("px");
modalWindow.setPageCreator(new ModalWindow.PageCreator() {
public Page createPage() {
return new PlayVideo(ItemViewPanel.this.getPage(), modalWindow, itemId);
}
});
AjaxLink showModalLink;
add(showModalLink = new AjaxLink("showModal") {
@Override
public void onClick(AjaxRequestTarget target) {
modalWindow.show(target);
}
});
谢谢。回答第二个问题:不,这两行代码不一样。ModalWindowPage。这是页面本身,因此其类型为ModalWindowPage。另一方面,getPageReference返回一个不在同一层次结构中的PageReference。您能为问题添加一些代码吗?我想为你想出一个解决办法,但我不知道从哪里开始。
final ModalWindow modalWindow;
add(modalWindow = new ModalWindow("modalVideo"));
modalWindow.setCookieName("modal-video");
modalWindow.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
modalWindow.setResizable(false);
modalWindow.setInitialHeight(215);
modalWindow.setInitialWidth(215);
modalWindow.setHeightUnit("px");
modalWindow.setPageCreator(new ModalWindow.PageCreator() {
public Page createPage() {
return new PlayVideo(ItemViewPanel.this.getPage(), modalWindow, itemId);
}
});
AjaxLink showModalLink;
add(showModalLink = new AjaxLink("showModal") {
@Override
public void onClick(AjaxRequestTarget target) {
modalWindow.show(target);
}
});