这是很好的进度条的模板,里面涉及丰富的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 1047/* * StringTool.java * * ... -
网络图片资源处理
2009-09-29 13:22 818编程中往往不仅需要处理本地的图片资源,还要处理网络中获取 ... -
J2ME Effects Library
2009-09-28 15:42 961J2ME ARMY KNIFE is, as far as I ... -
j2me中的MIDlet类说明
2009-09-28 13:14 1443在J2ME编程过程中,MIDlet ... -
J2ME入门体会
2009-09-28 13:13 786学习J2ME已经有几天的时间了,今天我以一个初学者的角度来谈谈 ... -
使用调色板修改png图片
2009-09-28 13:07 1461这个算法是参考一位高人的文章,直接读取并修改png格式图片的调 ... -
SimpleCache
2009-09-28 12:39 774public class SimpleCache { ... -
StringTokenizer
2009-09-28 12:36 837public class StringTokenizer { ... -
编码技巧
2009-09-22 11:56 7131. 用StringBuffer ... -
混淆器
2009-09-22 10:49 968ProGuard - ... -
j2me游戏中使用记录管理系统
2009-09-22 10:32 564纪录管理系统(Record Ma ...
相关推荐
本文将深入探讨如何在J2ME中创建各种美观的进度条,并通过提供的文件名如"loading进度条.txt"、"进度条3.txt"、"进度条2.txt"、"进度条4.txt"来推测不同的实现方式。 首先,我们需要了解J2ME中的基本图形绘制API,...
### 在J2ME上实现平滑的资源加载进度条 #### 概述 在Java 2 Micro Edition(简称J2ME)平台下开发应用程序时,经常会遇到需要展示资源加载进度的情况。良好的用户体验往往取决于是否能提供平滑且直观的加载进度...
"J2ME通用进度条"就是为了解决这个问题而设计的。 J2ME通用进度条是基于Java ME(J2ME)的图形用户界面(GUI)组件,用于显示任务执行的进度。它通常由两个主要部分组成:进度条本身(通常是一条横线,随着任务的...
音乐的控制,rms的操作类,java字符串解析 将字符串解析成字符数组,java进度条实例模板,j2me中将对象转换成字节数组的方法,j2me联网测试,j2me多线程的应用实例,j2me Socket通信例子 客户端,服务器端
J2ME 手机杀毒模板 J2ME 手机杀毒模板 J2ME 手机杀毒模板
有个朋友刚学j2me 问简单点的进度条怎么实现 就把这个发给他了 现在打包发出来给需要的初学者看 用途举例: 进入游戏界面之前先显示一下进度条 在loading的同时把需要的资源载入 初始化等等 eclipse写的 直接导入...
J2ME,全称Java 2 Micro Edition,是Java平台的一个子集,主要用于嵌入式设备和移动设备的开发,如手机、智能电表、家庭自动化设备等。它提供了跨平台的开发环境,使得开发者可以编写一次代码,到处运行。J2ME由两大...
本文将详细讲解如何利用Ant编译J2ME代码,以及如何使用提供的`build.xml`模板。 首先,我们要理解Ant的基本结构。一个`build.xml`文件是Ant的构建脚本,其中包含了多个目标(target)和任务(task)。每个目标由一...
【标题】"gaugeDemo_2.zip_gaugeDemo_2_j2me" 是一个与Java Micro Edition(J2ME)相关的示例项目,主要展示了如何在J2ME平台上使用 Gauge 组件来创建和显示进度条。Gauge组件是J2ME用户界面(UI)中的一个重要元素...
《仙剑1.8寸屏模板——j2me》是一个专为1.8英寸屏幕设计的游戏模板,基于Java ME(J2ME)平台。Java ME,全称Java 2 Micro Edition,是Java技术的一个分支,主要用于移动设备、嵌入式设备和智能卡等资源有限的环境。...
《J2ME飞机游戏开发详解》 J2ME(Java 2 Micro Edition)是Java平台的一个子集,专为移动设备、嵌入式系统等资源有限的环境设计。本篇文章将深入探讨如何利用J2ME技术开发一款简单的飞机游戏,以此帮助初学者理解...
**J2ME API 2.0 - J2ME使用手册 - J2ME帮助文档** Java 2 Micro Edition(J2ME)是Java平台的一个子集,专为资源有限的设备如移动电话、智能手表和家用电器等设计。J2ME API 2.0 提供了在这些小型设备上开发应用...
Java 2 Micro Edition (J2ME) 是一种Java平台,专为嵌入式设备和移动设备设计,如手机、智能手表、电视盒等。J2ME 提供了在小型设备上运行应用程序的能力,同时保持与Java标准版(J2SE)和企业版(J2EE)的兼容性。...
**J2ME游戏开发** Java 2 Micro Edition (J2ME) 是一种Java平台,主要用于开发和部署在移动设备、嵌入式系统以及家用电器上的应用程序,尤其在早期的智能手机和功能手机上广泛用于游戏开发。J2ME以其轻量级、跨平台...
**J2ME中文版教程——全面解读移动设备编程** J2ME(Java 2 Micro Edition)是Java平台的一个重要组成部分,专为嵌入式设备、移动电话和其他资源有限的设备设计。这个J2ME中文版教程是针对初学者和有一定经验的...
J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏
J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏
**J2ME教材:J2ME&Gaming中文版** J2ME,全称为Java 2 Micro Edition,是Java平台的一个子集,主要用于嵌入式设备和移动设备,如手机、智能手表等。这个“J2ME&Gaming中文版”教材主要针对的是Java在游戏开发领域的...
此外,进度条显示和音量控制也是常见的UI元素,需要对MIDP的高级UI组件有深入理解。 6. **线程管理**:音频播放通常在后台线程进行,以免阻塞主应用程序。这涉及到线程同步和通信,以确保用户界面的响应性和流畅性...
Java 2 Micro Edition (J2ME) 是一种Java平台,专为嵌入式设备和移动设备,特别是手机设计。在2000年代初期,J2ME是许多非智能手机上实现互联网浏览的主要技术,其中“j2me手机浏览器”就是这样一个应用。这个应用...