- 浏览: 615508 次
- 性别:
- 来自: 厦门
文章分类
最新评论
-
咖啡舞者:
现在在厦门工作还好吧。
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 1919在jsp中调用存储过程,本来用的是sqlserver200 ... -
智能校车---校车解决方案
2012-01-30 13:37 1442... -
一个澳大利亚大三学生的作业
2010-12-06 15:33 1526最近有一个澳大利亚的学生来公司做二个月的实生,听他说是这他们学 ... -
WebLogic部署数据源
2010-10-22 08:47 2097http://www.cstc.org.cn/tabid/88 ... -
javax.net.ssl.SSLHandshakeException
2010-07-28 11:09 14441在执行webservice的过程中,出现如下异常: ja ... -
j2me 在手机上,截屏你的程序
2010-07-12 15:16 1378收藏起来:http://www.iteye.com/topic ... -
轻量级用户界面工具包(LWUIT)简介
2010-06-02 16:10 1764原文出处:http://developer ... -
LWUIT的资源编辑与应用
2010-06-02 16:06 1728在LWUIT下载包中,有一个名为“Resource Edi ... -
LWUIT的布局与Style的使用
2010-06-02 16:04 1701一、LWUIT的布局 LWUIT一共有五个布局,分别是: ... -
关于WAP项目有话要说
2010-05-27 16:05 1807搞一了个月的 ... -
WAP相关资料
2010-05-07 08:48 1599在上次视频中,演示了安装 jdk 1.7 和 Nokia Mo ... -
linux安装svn 分享
2010-03-30 10:46 2119在linux下安装配置svn独立服务器 SVN技术网 www ... -
解决Mysql无法远程连接的问题
2010-03-29 14:18 3840解决Mysql 无法远程 ... -
svn eclipse插件突然失效怎么办?
2010-03-26 14:24 7118前段时间遇到了svn eclipse插件突然失效的问题,差 ... -
实战篇:设计自己的Annotation
2010-03-23 13:36 750Annotation在java的世界正铺天盖地展开,有空 ... -
tomcat:java.lang.outofmemoryerror permgen space
2010-03-04 15:55 1117这个问题是我的工程中 ... -
如struts中配有如下几个action,ManagerUserAction中有与之对应的方法 <action name="addUser" class="
2010-03-04 11:16 2966如struts中配有如下几个action,ManagerUse ... -
Spring2.5注释驱动与基于注释的MVC
2010-03-03 15:35 1214转摘自:http://tonyaction.blog.51ct ... -
log4j:WARN Please initialize the log4j system properly 问题解决
2010-03-03 11:06 4354今天花了点时间搞定了个并不是很重要的问题 在tomcat ... -
iBatis入门例子
2010-03-02 15:58 1698iBatis 是一个 O/R Mapping ...
相关推荐
在LWUIT中,可以使用布局管理器来安排组件的位置,9宫格布局是一种常见的界面设计,常用于展示图片、按钮或其他交互元素的网格。 知识点详解: 1. **LWUIT组件**:LWUIT提供了丰富的UI组件,如按钮、文本框、标签...
LWUIT( Lightweight UI Toolkit )是Java ME(J2ME)平台上的一种用户界面库,专为移动设备设计,提供了一种轻量级、高性能的界面构建工具。它旨在简化和美化在移动设备上的应用程序开发,使开发者能够创建具有丰富...
LWUIT( Lightweight UI Toolkit)是Java ME平台上用于构建用户界面的一个开源库,它提供了丰富的组件和动画效果,使得在移动设备上创建美观且交互性强的界面变得可能。Eclipse是一款广泛使用的集成开发环境(IDE)...
**LWUIT(Lightweight User Interface Toolkit)**是Java ME平台上的一个开源用户界面库,主要用于创建具有丰富图形效果和交互性的移动应用。这个库在早期的Java ME开发中非常流行,因为它允许开发者构建出与桌面...
LWUIT.jarLWUIT.jarLWUIT.jarLWUIT.jarLWUIT.jarLWUIT.jar
由于文档部分是通过OCR扫描的,可能存在识别错误或遗漏,但根据上下文可以理解为开发者在创建LWUIT主题商店时需要设计用户友好的界面,并通过网络请求从服务器获取主题数据,然后以一种直观和易用的方式展示给用户,...
这个"lwuit_demo_src.rar_DEMO_J2ME lwuit de_LWUIT_lwuit demo"压缩包包含的是LWUIT库的示例源代码,对于学习和理解LWUIT的使用方法非常有帮助。 LWUIT的主要目标是提供一套轻量级的UI组件,使得开发者能够在资源...
LWUIT( Lightweight UI Toolkit)是Java ME(J2ME)平台上的一款强大的用户界面(UI)框架,专门针对移动设备的资源限制而设计。LWUIT 提供了丰富的组件和可定制的外观,使得开发者能够创建出具有吸引力、功能丰富...
LWUIT( Lightweight UI Toolkit )是Java ME(J2ME)平台上的一种用户界面库,专为移动设备设计,用于创建美观且交互性强的图形用户界面。标题中的"lwuit.rar_J2ME lwuit_LWUIT_j2me_j2me LWU_九宫"表明这是一个与...
本文主要探讨的是LWUIT( Lightweight User Interface Toolkit )的开发技术,LWUIT是Java ME平台上的一款轻量级用户界面库,用于创建美观、功能丰富的移动应用程序。LWUIT提供了一套丰富的组件和样式机制,使得...
了解它的属性和方法,有助于理解LWUIT的基本操作。 - **Layout管理器**:LWUIT提供了一些布局管理器,如FlowLayout、BoxLayout和GridBagLayout等,它们负责组件在容器中的排列和对齐。 - **Form类**:作为LWUIT中...
本项目为j2me实现的记事本程序,包括新建 保存 读取 修改 等功能,内建lwuit类库,实现了aero效果。(本项目创建平台为NetBeans6.8)
**标签“LWUIT j2me UI例子 制作漂亮的UI例子”** 强调了LWUIT在J2ME平台上的应用以及创建美观界面的重要性。这些标签可能关联着一个项目或教程,旨在帮助开发者学习和掌握LWUIT的UI设计技巧。 在**压缩包子文件的...
LWUIT 1.4 是一个轻量级用户界面工具包(Lightweight User Interface Toolkit),专为Java ME(J2ME)平台设计,用于构建功能丰富的移动应用程序。这个版本的LWUIT引入了一个名为HTMLComponent的新组件,极大地扩展...
LWUIT( Lightweight UI Toolkit )是Java ME平台上的一个开源UI框架,它提供了一种高效、可定制的用户界面组件库,使得开发者能够在移动设备上创建丰富的图形用户界面。在描述中提到的"九宫格界面"是一种常见的UI...
LWUIT( Lightweight UI Toolkit)是Java ME平台上用于构建用户界面的一个开源库,它提供了丰富的UI组件和动画效果,使得开发者能够创建出具有吸引力且功能强大的移动应用。J2ME,全称Java 2 Micro Edition,是Java...
在LWUIT中,表格(Table)和树形视图(Tree)是两种重要的UI组件,它们在数据展示和交互中起到关键作用。 1. 表格(Table)组件: 表格组件允许开发者以行和列的形式展示数据,常用于显示结构化的信息。在LWUIT中...
在Java ME环境中,除了LWUIT之外,开发者还有其他几种选择来构建用户界面: 1. **LCDUI(Limited Capability Display User Interface)**:这是Java ME自带的基本用户界面库,虽然功能较为简单,但对于简单的应用...