watchcanvas.java

来自「j2me简单实例,j2me教程加源码,希望大家喜欢」· Java 代码 · 共 39 行

JAVA
39
字号
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 + =
减小字号Ctrl + -
显示快捷键?