很简单的一个东西,直接贴代码!
import com.google.gwt.event.logical.shared.ResizeEvent;
import com.google.gwt.event.logical.shared.ResizeHandler;
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.DecoratedPopupPanel;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.RootPanel;
/**
* 加载页面的进度条。。。
* @version 1.2 2009-07-31
*/
public class LoadPop {
private static final DecoratedPopupPanel simplePopup = new DecoratedPopupPanel();
private static final HTML showText = new HTML();
private static final String defTxt = "载入中";
private static final String INDENT = " "; // 加空格缩进
private static final String LOAD_SPLIT = ">>"; //
private static final HTML waterfall = new HTML();//遮罩层
private static int count = 1;
private static final Timer timer = new Timer(){
@Override
public void run() {
if((count++)>=10){
count = 1;
showText.setHTML(showText.getText().replaceAll(LOAD_SPLIT, ""));
}
showText.setHTML(showText.getText()+ LOAD_SPLIT);
}};
static {
simplePopup.setStyleName("LoadingShow");
simplePopup.setWidget(showText);
}
public static final void show(){
show(INDENT + defTxt);
}
public static final void show(String html){
initWaterfall();
showText.setHTML(INDENT + html);
simplePopup.show();
simplePopup.setPopupPosition(0, getScrollTop());
timer.scheduleRepeating(500);
}
public static final void hide(){
hide(INDENT + "加载成功");
};
public static final void hide(String html){
count = 1;
showText.setHTML(INDENT+ html);
simplePopup.hide();
waterfall.setVisible(false);
}
private static void initWaterfall(){
waterfall.setStyleName("PopupPanelEx_Backgroup_div");
waterfall.setVisible(true);
waterfall.setSize(getMaxWidth() + "px", getMaxHeight()+ "px");
Window.addResizeHandler(new ResizeHandler(){
@Override
public void onResize(ResizeEvent event) {
if(simplePopup.isVisible())
simplePopup.setPopupPosition(0, getScrollTop());
if(waterfall.isVisible())
waterfall.setSize(getMaxWidth() + "px", getMaxHeight()+ "px");
}});
RootPanel.get().add(waterfall);
}
public static native int getScrollTop() /*-{
// Standard mode || Quirks mode.
return $doc.documentElement.scrollTop || $doc.body.scrollTop;
}-*/;
public static native int getScrollWidth() /*-{
// Standard mode || Quirks mode.
return $doc.documentElement.scrollWidth || $doc.body.scrollWidth;
}-*/;
public static native int getScrollHeight() /*-{
// Standard mode || Quirks mode.
return $doc.documentElement.scrollHeight || $doc.body.scrollHeight;
}-*/;
public static native int getClientWidth() /*-{
// Standard mode || Quirks mode.
return $doc.documentElement.clientWidth || $doc.body.clientWidth;
}-*/;
public static native int getClientHeight() /*-{
// Standard mode || Quirks mode.
return $doc.documentElement.clientHeight || $doc.body.clientHeight;
}-*/;
public static int getMaxWidth() {
int scrollWidth = getScrollWidth();
int clientWidth = getClientWidth();
// 取宽度最大值
return scrollWidth > clientWidth ? scrollWidth : clientWidth;
}
public static int getMaxHeight() {
int scrollHeight = getScrollHeight();
int clientHeight = getClientHeight();
// 取高度最大值
return scrollHeight > clientHeight ? scrollHeight : clientHeight;
}
}
<style>
.LoadingShow{
/*background-color: #EEEEEE;*/
font-size: 12px;
font-weight: bold;
width: 100%;
z-index: 999;
}
.PopupPanelEx_Backgroup_div{
height: 100%;
width: 100%;
filter: alpha(opacity = 50);
-moz-opacity:0.5;
opacity:0.5;
background-color: #CCCCCC;
position: absolute;
left: 0px;
top: 0px;
right: 0px;
bottom: 0px;
}
</style>
分享到:
相关推荐
自己做的GWT 1.7的API文档 有需要的可以下载
GWT1.7是GWT的一个早期版本,虽然现在已经有了更新的版本,但学习它的基本使用仍然可以帮助我们理解GWT的工作原理和开发模式。 在GWT中,开发者可以使用Java语言编写客户端代码,然后通过GWT编译器将Java代码转换为...
**GWT(Google Web Toolkit)** 是一个开源的开发框架,允许Java开发者创建富互联网应用程序(RIA)。在GWT 1.7版本中,它提供了一系列的工具和技术,帮助开发者构建高性能、跨浏览器的Web应用,而无需学习复杂的...
"gwt-windows-1.7.1"指的是GWT的一个特定版本,即1.7.1,适配于Windows操作系统。这个版本可能包含了GWT开发所需的库文件、编译器、运行时环境和其他相关工具。 在GWT 1.7.1中,有几个关键的知识点值得深入探讨: ...
完整代码,绝对能用:Spring和Hibernate部分实现了一个权限管理系统。GWT部分集成了Spring的Service(网上的例子很少,要不代码不全,要不不能使用,这个保证完全可以使用)。请注意各个配置文件,程序所用的包都在...
这个"gwt 实现的一个简单计算器"项目提供了一个基础的起点,适合初学者了解GWT的工作原理和开发流程。下面将详细介绍GWT、计算器实现的关键知识点以及如何在Eclipse环境中进行调试。 1. **GWT概述**: GWT允许...
最新版本的GWT的原版英文参考手册,如果需要其他的版本,请在我的资料库中查找……
- 编写一个简单的界面,显示“Hello, GWT!”的消息。 - 通过GWT编译器部署并运行。 - **案例2: GWT Shop**: - 开发一个简单的在线购物网站。 - 包括商品展示、购物车管理等功能。 - 使用GWT的UI组件构建用户...
首先,EXT-GWT2.0.1是EXT-GWT(GWT-Ext)的一个版本,它是基于GWT的组件库,提供了丰富的用户界面组件,如表格、树形视图、菜单等,使得开发者可以构建出具有桌面级用户体验的Web应用。EXT-GWT的API和DOC文档对于...
gxt-2.2.4 EXT GWT Note : Ext GWT 2.X requires GWT 1.7+ or GWT 2.0+ (any build ending in "-gwt2.zip").
在这个"简单的GWT示例"中,我们可能看到一个用于展示股票价格的应用。GWT的应用通常包含一个或多个Widget,这些Widget可以是按钮、文本框、表格或其他用户交互元素。在股票示例中,可能有一个表格用于显示股票代码、...
SmartGWT是基于Google Web Toolkit (GWT) 的一个开源框架,它为开发富互联网应用程序(RIA)提供了丰富的组件库和高级功能。SmartGWT的最新版本进一步提升了用户体验,简化了开发过程,提供了更多现代Web设计的需求...
GWT,全称为Google Web Toolkit,是一个开源的Java框架,用于构建高性能、可维护的富互联网应用程序(RIA)。GWT允许开发者使用Java语言编写客户端代码,然后通过编译器将其转换为优化过的JavaScript,以便在各种...
GWT中的Composite组件允许开发者将多个UI元素组合成一个自定义的复杂组件。在GWT Designer中,你可以通过拖拽和放置控件,以及设置布局管理器来创建Composite。Composite类是GWT的基础,可以构建可重用的代码模块,...
gwtext是Google Web Toolkit (GWT) 的一个扩展库,提供了丰富的用户界面组件和样式,使得在GWT平台上构建复杂的Web应用变得更加便捷。GWT Ext则是gwtext的核心部分,基于Ext JS库,为GWT提供了更多的UI组件和功能。 ...
每个 UI 组件都对应于 GWT 中的一个特定类,例如按钮(Button)、文本框(Textbox)等。这些组件的设计考虑到了易用性和灵活性,开发者可以通过简单的 API 调用来实现复杂的 UI 设计。 **2. 简单的 RPC 调用** 远程...
总的来说,SmartGWT 2.0 API 是一个强大的工具,它的出现使得GWT开发者能够快速创建出美观且功能丰富的Web应用,特别适合处理大数据量和复杂交互的场景。通过利用其组件、数据绑定、性能优化等特性,开发者可以更...
在"TestSmartGWT"这个DEMO中,可能会使用SmartGWT库,它是GWT的一个扩展,提供了更丰富的组件和更高级的功能。例如,SmartGWT提供了`ListGrid`,这是一个强大的表格组件,可以实现复杂的表格操作。此外,`DataSource...
官方版本,亲测可用
标题 "GWT" 指的是 Google Web Toolkit,这是一个开源的Java开发框架,主要用于构建高性能、跨浏览器的富互联网应用程序(Rich Internet Applications,简称RIA)。GWT通过将Java代码编译为JavaScript,使得开发者...