📄 watchcanvas.java
字号:
package com.j2medev.chapter3;
import javax.microedition.lcdui.*;
public class WatchCanvas extends Canvas implements Runnable{
int degree = 360;
long startTime;
int seconds;
Display display;
public WatchCanvas(Display display,int seconds) {
this.display = display;
this.seconds = seconds;
startTime = System.currentTimeMillis();
}
public void paint(Graphics g) {
g.setGrayScale(255);
g.fillRect(0, 0, getWidth(), getHeight());
//确定圆的半径
int r = (getWidth()-getHeight()<0)?getWidth():getHeight();
if (degree > 0) {
g.setColor(0, 0, 255);
g.fillArc(0,0, r, r, 90, degree);
}
g.setGrayScale(0);
g.drawArc(0, 0, r-1, r-1, 0, 360);
//callSerially的调用会请求run()方法被调用,形成事件的串行化
display.callSerially(this);
}
public void run() {
//根据时间计算角度degree
int permille = (int) ((System.currentTimeMillis()
- startTime) / seconds);
degree = 360 - (permille * 360) / 1000;
repaint();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -