这是很好的进度条的模板,里面涉及丰富的Java知识,值得很好研究。如:单例模式,接口等知识。。。
package com.srk.gauge; import javax.microedition.lcdui.Display; /** * * 这是仿照Smart Ticket制作的进度条观察者,这个模型的优点是 * 1,低耦合度。你可以通过Form,Canvas等来实现这个接口 * 2,支持可中断的任务,因为背景线程是无法强制性中断的, * 所以就 没有了在观察者中回调背景线程相应方法的必要, * 如果支持可中断的话,可以让背景线程来查询观察者的isStopped() * 3,可以说进度条仅仅将自己绘画在屏幕上,他对后台线程毫不关心 */ public interface ProgressObserver { /** * 将进度条复位 */ public void reset(); /** * 将进度条设置最大 */ public void setMax(); /* * 将自己绘制在屏幕上,如果进度条要开启自身的线程用于自动更新画面, * 也在这里构造并开启绘画线程(常用于动画滚动条) */ public void show(Display display); /** * 滚动条退出命令,如果进度条曾经开启自身的线程用于自动更新画面, * (常用于动画滚动条),在这里关闭动画线程 */ public void exit(); /** * 更新进度条 */ public void updateProgress(Object param1); public boolean isStoppable(); public void setStoppable(boolean stoppable); public boolean isStopped(); public void setStopped(boolean stopped); public void setTitle(String title); public void setPrompt(String prompt); } package com.srk.gauge; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Form; import javax.microedition.lcdui.Gauge; public class ProgressGaugeImpl implements ProgressObserver, CommandListener { private static final int GAUGE_MAX = 8; private static final int GAUGE_LEVELS = 4; private static ProgressGaugeImpl pgUI; private Form f; private Gauge gauge; private Command stopCMD; boolean stopped; boolean stoppable; int current; protected ProgressGaugeImpl() { f = new Form(""); gauge = new Gauge("", false, GAUGE_MAX, 0); stopCMD = new Command("Cancel", Command.STOP, 10); f.append(gauge); f.setCommandListener(this); } public static ProgressGaugeImpl getInstance() { if (pgUI == null) { return new ProgressGaugeImpl(); } return pgUI; } public void reset() { current = 0; gauge.setValue(0); stopped = false; setStoppable(false); setTitle(""); setPrompt(""); } public void updateProgress(Object param1) { //这里的参数设计为提示语 current = (current + 1) % GAUGE_LEVELS; gauge.setValue(current * GAUGE_MAX / GAUGE_LEVELS); if (param1 != null && param1 instanceof String) { setPrompt((String) param1); } } public boolean isStoppable() { return stoppable; } public void setStoppable(boolean stoppable) { this.stoppable = stoppable; if (stoppable) { f.addCommand(stopCMD); } else { f.removeCommand(stopCMD); } } public boolean isStopped() { return stopped; } public void setStopped(boolean stopped) { this.stopped = stopped; } public void setTitle(String title) { f.setTitle(title); } public void setPrompt(String prompt) { gauge.setLabel(prompt); } public void commandAction(Command arg0, Displayable arg1) { if (arg0 == stopCMD) { if (isStoppable()) { stopped = true; } else { setPrompt("can't stop!"); } } } public void show(Display display) { display.setCurrent(f); } public void exit() { // 忽略 } public void setMax() { gauge.setValue(GAUGE_MAX); } }
发表评论
-
老外写的 StringTool
2009-10-26 16:22 1028/* * StringTool.java * * ... -
网络图片资源处理
2009-09-29 13:22 800编程中往往不仅需要处理本地的图片资源,还要处理网络中获取 ... -
J2ME Effects Library
2009-09-28 15:42 943J2ME ARMY KNIFE is, as far as I ... -
j2me中的MIDlet类说明
2009-09-28 13:14 1424在J2ME编程过程中,MIDlet ... -
J2ME入门体会
2009-09-28 13:13 775学习J2ME已经有几天的时间了,今天我以一个初学者的角度来谈谈 ... -
使用调色板修改png图片
2009-09-28 13:07 1440这个算法是参考一位高人的文章,直接读取并修改png格式图片的调 ... -
SimpleCache
2009-09-28 12:39 748public class SimpleCache { ... -
StringTokenizer
2009-09-28 12:36 823public class StringTokenizer { ... -
编码技巧
2009-09-22 11:56 6951. 用StringBuffer ... -
混淆器
2009-09-22 10:49 938ProGuard - ... -
j2me游戏中使用记录管理系统
2009-09-22 10:32 549纪录管理系统(Record Ma ...
相关推荐
j2me里面各种漂亮进度条的制作方法,例子和简洁哦~~
在J2ME上实现平滑的资源加载进度条 txt文本 源码描述:首先,我把我要加载的资源按其加载量来定其需要的百几比,比如我要加载一个大文件,一个小文件,我就将大文件定为80%,小文件定为20%,也就是把100%分为了两份...
J2ME通用进度条,解决联网、线程操作等候问题
音乐的控制,rms的操作类,java字符串解析 将字符串解析成字符数组,java进度条实例模板,j2me中将对象转换成字节数组的方法,j2me联网测试,j2me多线程的应用实例,j2me Socket通信例子 客户端,服务器端
J2ME 手机杀毒模板 J2ME 手机杀毒模板 J2ME 手机杀毒模板
J2ME开发 J2ME开发 J2ME开发 J2ME开发
有个朋友刚学j2me 问简单点的进度条怎么实现 就把这个发给他了 现在打包发出来给需要的初学者看 用途举例: 进入游戏界面之前先显示一下进度条 在loading的同时把需要的资源载入 初始化等等 eclipse写的 直接导入...
J2ME API J2ME API J2ME API J2ME API J2ME API
j2me入门教程j2me入门教程j2me入门教程j2me入门教程j2me入门教程
J2ME培训教程,以前学JJ2ME培训教程J2ME培训教程J2ME培训教程J2ME培训教程J2ME培训教程J2ME培训教程J2ME培训教程J2ME培训教程J2ME培训教程J2ME培训教程J2ME培训教程2ME发的一个PPT,内容还可以,需要的朋友不要客气J2ME...
J2ME游戏开发 J2ME游戏开发 J2ME游戏开发
J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏
J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏
j2me手机浏览器 j2me手机浏览器 j2me手机浏览器
j2me教程j2me教程j2me教程j2me教程
j2ME初学Demo j2ME demo j2me demo j2ME实例
用ant编译J2ME代码的build.xml模板。该模板在本人项目中应用,测试通过。你的项目中只要修改Conf.properties中的变量路径和GEN.properties中的入口类名即可。
J2ME相关资源,介绍J2ME的相关基础知识,图片加载、网络连接问题、进度条相关问题
J2ME小游戏迷宫源码J2ME小游戏迷宫源码J2ME小游戏迷宫源码J2ME小游戏迷宫源码J2ME小游戏迷宫源码J2ME小游戏迷宫源码J2ME小游戏迷宫源码J2ME小游戏迷宫源码J2ME小游戏迷宫源码
J2ME新手写的飞机游戏,希望初学者喜欢,或许对你有所帮助。