⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timerpart.java

📁 j2me手机图书阅读器
💻 JAVA
字号:
/********************************************************************
 * 
 * 版权说明,此程序仅供学习参考。不能用于商业
 * 
 ********************************************************************/
package org.pook.ui;

import java.util.TimerTask;

import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Graphics;

import org.pook.file.BookFileManager;
import org.pook.log.Log;
import org.pook.ui.core.Platform;
import org.pook.ui.form.Panel;
import org.pook.ui.timer.TimerTaskManager;
import org.pook.ui.util.GraphicsUtil;
import org.pook.util.DateTime;

/**
 * <b>类名:TimerPart.java</b> </br> 
 * 编写日期: 2006-9-29 <br/>
 * 程序功能描述�? <br/>
 * Demo: <br/>
 * Bug: <br/>
 * 
 * 程序变更日期<br/> 
 * 变更作�??<br/> 
 * 变更说明<br/>
 * 
 * @author wuhua </br> <a href="mailto:rrq12345@163.com">rrq12345@163.com</a>
 */
public class TimerPart extends Part implements Runnable{

	Log log = Log.getLog("TimerPart");
	
	/** 时间显示字段	 */
	private static int hour ;
	private static int minute;
	private static int second;
	
	private static String time;
	
	/** 用于执行消失窗口 */
	protected TimerTask task;
	
	/** 获取系统时间 **/
	private DateTime dt;
	
	
	
	private Display display;
	private Displayable displayable;

	private String h;

	private String m;

	private String s;
	
	public TimerPart(Display display) {
		super(Platform.WIDTH - 45, 0, 45, 20);
		dt = new DateTime();
		hour = dt.hour ;
		minute = dt.minute ;
		second = dt.second ;
 
		 time = hour + ":" + minute + ":" + second;
		 
	 
		task = TimerTaskManager.getInstace().add(this, 1000); 
		this.display = display;
	}

	public void paint(Graphics g) {
		g.setColor(0x00000);
		g.drawString(time.toString(), view[X], view[Y], Graphics.TOP |
				Graphics.LEFT);
	//	GraphicsUtil.darwString(g,new Boolean(BookFileManager.available()).toString(), view[X], view[Y]);

	}

	public void onClick(int keyCode) {
	 
	}

	/**
	 * 刷新时间的方法,每隔1秒钟刷新�?�?
	 */
	public void run() {
		 
		
		//更新时间
		 updateTime();
		 repaintTime();
		
	}
	
	/**
	 * 这里本不应该与程序又任何关联的�?�但考虑到�?��??
	 * �?以就先这样先
	 *
	 */
	private void repaintTime() {
		if(display == null)
			return;
		displayable = display.getCurrent();
		if(displayable instanceof Panel){
			Panel panel = (Panel)displayable;
			panel.repaintTimer();
		}
	}

	/**
	 * 更新时间,频率是1�?
	 *
	 */
	private void updateTime() {
		second ++ ;
		if(second == 60){
			second = 0;
			minute ++ ;
		}
		
		if(minute == 60){
			minute = 0;
			hour ++ ;
		}
		
		if(hour == 24 && minute == 0){
			hour = 00;
		}
		
		h =   hour<10?("0"+hour):hour + "" ;
		m =    minute<10?("0"+minute):minute + "";
		s =   second<10?("0"+second):second + "";
		
		time = h + ":" + m + ":" + s;
	}




}

⌨️ 快捷键说明

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