📄 timerpart.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 + -