gaugesimpledemo.java

来自「j2me学习 简单例子」· Java 代码 · 共 94 行

JAVA
94
字号
package example.demoseniorui.gauge;

import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Gauge;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

/**
 * <p>J2ME Gauge Simple Demo</p>
 * 
 * @author 刘光辉
 * @version 2009.02.01
 */
public class GaugeSimpleDemo extends MIDlet implements CommandListener{

	private static final Command CMD_START = new Command("开始",Command.OK,1);
	private static final Command CMD_STOP = new Command("停止",Command.STOP,1);
	private Display display;
	Gauge g;
	/**
	 * <p>GaugeSimpleDemo的构造函数</p>
	 */
	public GaugeSimpleDemo() {
		display = Display.getDisplay(this);
	}

	/**
	 * <p>启动程序,使MIDlet处于active状态</p>
	 * <p></p>
	 * @see javax.microedition.midlet.MIDlet#startApp()
	 */
	protected void startApp() throws MIDletStateChangeException {
		Alert al = new Alert("处理中");
		al.setType(AlertType.INFO);
		al.setTimeout(Alert.FOREVER);
		al.setString("系统正在处理中...");
		
		g = new Gauge(null,false,10,0);
		al.setIndicator(g);
		
		al.addCommand(CMD_START);
		al.addCommand(CMD_STOP);
		al.setCommandListener(this);
		
		display.setCurrent(al);
	}

	/**
	 * <p>暂停程序,使MIDlet处于pause状态</p>
	 * @see javax.microedition.midlet.MIDlet#pauseApp()
	 */
	protected void pauseApp() {

	}

	/**
	 * <p>销毁程序,使MIDlet处于destroyed状态</p>
	 * 
	 * @param boolean unconditional 
	 * <ul>true 释放资源保存数据进入destroyed状态,false 抛出异常保持当前状态</ul>
	 * @see javax.microedition.midlet.MIDlet#destroyApp(boolean)
	 */
	protected void destroyApp(boolean unconditional) throws MIDletStateChangeException {

	}

	/**
	 * <p>命令处理函数,实现CommandListener接口</p>
	 * @param Command c 命令对象
	 * @param Displayable d 被放置到显示屏显示的对象
	 */
	public void commandAction(Command c, Displayable d) {
		String cmd = c.getLabel();
		if(cmd.equals("开始")){
			for(int i=0;i<11;i++){
				g.setValue(i);
				try{
					Thread.sleep(500);
				}catch(Exception e){
					e.printStackTrace();
				}
			}
		}else if(cmd.equals("停止")){
			notifyDestroyed();
		}
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?