在我的 Wicket应用程序中,我有几行代码需要一些时间才能执行。如果我可以在逻辑被激活期间显示加载图标或弹出窗口,那将是很好的。问题是我不知道如何实现这样的东西。有人可以帮我这个吗?
目标是
Class.java
// Show popup or icon
this.getData();
// Hide popup
答案 0 :(得分:3)
看看AjaxLazyLoadPanel。将显示需要很长时间的东西放入Panel中,并用AjaxLazyLoadPanel包装它。
答案 1 :(得分:2)
看看这个wicket wiki:
Generic Busy Indicator (for both Ajax and non-Ajax submits)
如果您使用的是ajax按钮/链接,则可以使用IndicatingAjaxLink
和IndicatingAjaxButton
来自wicket-extensions
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-extensions</artifactId>
<version>${wicket.version}</version>
</dependency>
关于自定义指标的链接:
Customizing IndicatingAjaxLink in wicket
Is it possible to change the color of Wicket's activity indicator?
你也可以覆盖css类:
span.wicket-ajax-indicator img {
margin: 0;
padding: 0;
padding-left: 2px;
display: inline;
white-space: nowrap;
}
答案 2 :(得分:0)
如果您要加载要自定义的弹出窗口,则可以使用modal
窗口。按照教程在点击时加载模态窗口。
在目的地面板上提供您想要的任何文字。
在modalPanel1(目标面板)的onConfigure()中,最后添加以下代码:
Thread.sleep(//time average);
window.close(target);
将target作为参数从ModalWindowPage.java作为参数传递给构造函数的对象。
理想情况下,这是实例化的变化:
modal2.setContent(new ModalPanel1(modal2.getContentId(),target);
其中target是ajax链接/按钮目标。
您也可以在页面加载时激活它(点击here查看讨论)