- 浏览: 608599 次
- 性别:
- 来自: 厦门
文章分类
最新评论
-
咖啡舞者:
现在在厦门工作还好吧。
2013换工作记 -
huih1984:
工作8年,算起来楼主和我差不多岁数啊, ,本人现在干着没有合同 ...
2013换工作记 -
无心流泪wan:
乘法法则规定复数的乘法按照以下的法则进行:设z1=a+bi,z ...
帮朋友做的一笔试(友元 运算符重载) -
我叫营长1:
谢谢,很详细呢
SharedPreferences 的用法 -
javalinjx:
挺有意思的。哈哈
2013换工作记
强烈推荐此blog作者的博客
原文出处:http://blog.csdn.net/pjw100/archive/2009/11/23/4854740.aspx
我们加载某一个Form页面时,如果这个页面内容较多,加载需要一定的时间,那我们就希望做一个等待的画面,比如"某某正在加载,请等 待...",在这个画面中以动态效果来说为最好,用户也知道需要等待很短的时间。我做等待界面有两种方法:
首先是方法一,这种方法属于文字等待,就是在界面上画一串文字,"..."是以动态的形式显示,代码如下:
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package com.thinkrace.icredit;
- import com.sun.lwuit.Font;
- import com.sun.lwuit.Form;
- import com.sun.lwuit.Graphics;
- import com.sun.lwuit.Image;
- import com.sun.lwuit.Label;
- import com.sun.lwuit.layouts.BorderLayout;
- import java.io.IOException;
- import java.util.Random;
- import java.util.Timer;
- import java.util.TimerTask;
- /**
- *
- * @author Administrator
- */
- public class SplashForm extends Form implements Runnable {
- private Timer timer = new Timer();
- private long displayTime = 1000 ;
- private StringBuffer loading = new StringBuffer( "Saleslion is loading" );
- public SplashForm() {
- Thread t = new Thread( this );
- t.start();
- this .setLayout( new BorderLayout());
- this .show();
- }
- public void paint(Graphics g) {
- try {
- Image wait = Image.createImage("/logo.png" );
- //绘制logo
- g.drawImage(wait, (getWidth() - wait.getWidth()) / 2 , (getHeight() - wait.getHeight()- 70 ) / 2 );
- g.setColor(0xffffff );
- Font fnt = Font.createSystemFont(Font.FACE_PROPORTIONAL, Font.STYLE_PLAIN, Font.SIZE_LARGE);
- g.setFont(fnt);
- int wordWidth = fnt.stringWidth( "Saleslion is loading..." );
- //绘制等待字符串
- g.drawString(loading.toString(), (getWidth() - wordWidth) / 2 , (getHeight() + wait.getHeight() - 60 ) / 2 );
- } catch (IOException ex) {
- ex.printStackTrace();
- }
- }
- private void disappear() {
- timer.cancel();
- try {
- new LoginForm();
- } catch (IOException ex) {
- ex.printStackTrace();
- }
- }
- //调用TimerTask,时间到了后,调用 disappear(),当前画面消失,跳至另一个Form
- protected void showNotify() {
- timer.schedule(new TimerTask() {
- public void run() {
- disappear();
- }
- }, displayTime);
- }
- //设置字符串
- public void setLoading() {
- if (loading.toString().indexOf( "..." ) > 0 ) {
- loading.delete(loading.length() - 3 , loading.length());
- }
- }
- public void run() {
- while ( true ) {
- try {
- //调用线程来绘制字符串
- Thread.sleep(500 );
- setLoading();
- loading.append("." );
- } catch (Exception e) {
- }
- repaint();
- }
- }
- }
以上代码比较简单,也不做多的解释,它是基于Form的。
但是这并不是我想要的效果,假如在一个九宫格中,我点击某一格时,我希望出现一个loading画面显示正在加载这一项,但是以遮罩的形式显示(就 像web开发里面弹出的遮罩层对话框一样),也就是说,弹出loading时,我仍然能够见到原来的九宫格画面。我要的效果如下图:
如果要实现这种形式的loading画面,只有通过Dialog类来实现。
制作这种Dialog有几个小问题需要解决:
1.lwuit中如何显示gif动画
2.Dialog全透明
3.Dialog自动释放
一直没有实现这个效果,关键是问题1,但是在上一节 我已经解决了,下面就看关键代码,代码仍然很简单:
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package com.thinkrace.UCHome.ui;
- import com.sun.lwuit.Dialog;
- import com.sun.lwuit.Display;
- import com.sun.lwuit.Image;
- import com.sun.lwuit.Label;
- import com.sun.lwuit.util.Resources;
- import java.io.IOException;
- /**
- *
- * @author Administrator
- */
- public class LoadingDialog extends Dialog {
- public LoadingDialog() {
- try {
- //设置对话框全透明
- for ( int i = 0 ; i < getComponentCount(); i++) {
- getComponentAt(i).getStyle().setBgTransparency(0 );
- }
- Image icon = Resources.open("/resources.res" ).getImage( "loading.gif" );
- Label l = new Label(icon);
- l.getStyle().setBgTransparency(0 );
- addComponent(l);
- int w = Display.getInstance().getDisplayWidth();
- int h = Display.getInstance().getDisplayHeight();
- int top = (h - icon.getHeight()) / 2 - 10 ;
- int left = (w - icon.getWidth()) / 2 - 10 ;
- setTimeout(3000 );
- show(top,top,left,left,false );
- } catch (IOException ex) {
- ex.printStackTrace();
- }
- }
-
}
- SplashForm.rar (1.2 KB)
- 下载次数: 94
- Png2Ico.rar (253.7 KB)
- 下载次数: 129
发表评论
-
java中使用存储过程出现"该语句没有返回结果集"
2012-02-14 15:32 1857在jsp中调用存储过程,本来用的是sqlserver200 ... -
智能校车---校车解决方案
2012-01-30 13:37 1396... -
一个澳大利亚大三学生的作业
2010-12-06 15:33 1487最近有一个澳大利亚的学生来公司做二个月的实生,听他说是这他们学 ... -
WebLogic部署数据源
2010-10-22 08:47 2068http://www.cstc.org.cn/tabid/88 ... -
javax.net.ssl.SSLHandshakeException
2010-07-28 11:09 14392在执行webservice的过程中,出现如下异常: ja ... -
j2me 在手机上,截屏你的程序
2010-07-12 15:16 1347收藏起来:http://www.iteye.com/topic ... -
轻量级用户界面工具包(LWUIT)简介
2010-06-02 16:10 1717原文出处:http://developer ... -
LWUIT的资源编辑与应用
2010-06-02 16:06 1695在LWUIT下载包中,有一个名为“Resource Edi ... -
LWUIT的布局与Style的使用
2010-06-02 16:04 1662一、LWUIT的布局 LWUIT一共有五个布局,分别是: ... -
关于WAP项目有话要说
2010-05-27 16:05 1762搞一了个月的 ... -
WAP相关资料
2010-05-07 08:48 1547在上次视频中,演示了安装 jdk 1.7 和 Nokia Mo ... -
linux安装svn 分享
2010-03-30 10:46 2080在linux下安装配置svn独立服务器 SVN技术网 www ... -
解决Mysql无法远程连接的问题
2010-03-29 14:18 3800解决Mysql 无法远程 ... -
svn eclipse插件突然失效怎么办?
2010-03-26 14:24 7086前段时间遇到了svn eclipse插件突然失效的问题,差 ... -
实战篇:设计自己的Annotation
2010-03-23 13:36 706Annotation在java的世界正铺天盖地展开,有空 ... -
tomcat:java.lang.outofmemoryerror permgen space
2010-03-04 15:55 1083这个问题是我的工程中 ... -
如struts中配有如下几个action,ManagerUserAction中有与之对应的方法 <action name="addUser" class="
2010-03-04 11:16 2935如struts中配有如下几个action,ManagerUse ... -
Spring2.5注释驱动与基于注释的MVC
2010-03-03 15:35 1154转摘自:http://tonyaction.blog.51ct ... -
log4j:WARN Please initialize the log4j system properly 问题解决
2010-03-03 11:06 4306今天花了点时间搞定了个并不是很重要的问题 在tomcat ... -
iBatis入门例子
2010-03-02 15:58 1660iBatis 是一个 O/R Mapping ...
相关推荐
最新开源 j2me 资源代码,如果有人可以改成在eclipse 的项目,就感激不尽
LWUIT哦,最新的包,学习学习。非常好用哦
lwuit界面在eclipse下的例子,原为netbean下的例子,现在改为eclipse下,以供eclipse下的大家共同交流。本程序仅为编程参考,希望lwuit能发展得更快些,那我们就有福了
LWUIT.jarLWUIT.jarLWUIT.jarLWUIT.jarLWUIT.jarLWUIT.jar
本项目为j2me实现的记事本程序,包括新建 保存 读取 修改 等功能,内建lwuit类库,实现了aero效果。(本项目创建平台为NetBeans6.8)
Lwuit入门程序测试一下Demo 里面需要用到LWUIT的jar包
Lwuit在blackberry上的移植版本,使用subversion签下来的,我把这个从lwuit-incubator中提取出来的,里面有DOC和源码,不过它把4.2-4.7版本放在一起了,应用的时候需要根据自己项目实际进行裁剪和修改。
The Lightweight UI Toolkit (LWUIT) 是一个轻量级JavaME UI工具包。LWUIT类似Swing 的MVC架构, 支持多种布局(Layouts), 皮肤更换, 字体, 触摸屏, 动画效果, Rich控件, 3D集成, Painter, 模式对画框, I18N/L10N等...
Lightweight UI Toolkit (LWUIT) 是一个轻量...LWUIT类似Swing 的MVC架构, 支持多种布局(Layouts), 皮肤更换, 字体, 触摸屏, 动画效果, Rich 使用LWUIT的应用程序界面 控件, 3D集成, Painter, 模式对画框, I18N/L10N
The Lightweight UI Toolkit (LWUIT) 是一个轻量级JavaME UI工具包。LWUIT类似Swing 的MVC架构, 支持多种布局(Layouts), 皮肤更换, 字体, 触摸屏, 动画效果, Rich控件, 3D集成, Painter, 模式对画框, I18N/L10N等...
根据搜索翻译出来的lwuit1.4的介绍,有兴趣的朋友可以看看
在网上找了很久源代码,基本上都是缺胳膊少腿的,svn上1.3版的代码还处于测试阶段...官方的只通了LWUIT.jar和Demo的下载,没有源代码,我把这个LWUIT.jar反编译了一下,把反编译过后产生的错误修改好了,已经可以用了。
lwuit1.4 jar包 lwuit1.4 jar包 lwuit1.4 jar包 lwuit1.4 jar包
Sun发布了LWUIT(Light-Weight UI Toolkit)的源代码。项目主页访问:LWUIT。 The Lightweight UI Toolkit (LWUIT) 是一个轻量级JavaME UI工具包。LWUIT类似Swing 的MVC架构, 支持多种布局(Layouts), 皮肤更换, ...
lwuit的开发文档 Hello World for MIDP import com.sun.lwuit.Display; import com.sun.lwuit.Form; import com.sun.lwuit.Label; import com.sun.lwuit.layouts.BorderLayout; import ...
lwuit demo 的源代码,基本重要的函数都在这里进行了展示
lwuit 1.4 api文档,lwuit 1.4 api文档。
lwuit api文档下载,lwuit api文档下载