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

📄 backlightcanvas.java

📁 GPS Track connects to a GPS and records the path that you travel. Tracks can be uploaded to a web s
💻 JAVA
字号:
// J2ME GPS Track
// Copyright (C) 2006 Dana Peters
// http://www.qcontinuum.org/gpstrack

package org.qcontinuum.gpstrack;

import javax.microedition.lcdui.*;
import java.util.*;

public class BacklightCanvas extends Canvas {

    private Timer mTimer;
    private Displayable mLastDisplayable;
    private int mTimeoutSeconds;
    private Displayable mBacklightCanvas;
    private boolean mBacklightDisabled;
    
    private final static int CHECKSECONDS = 5;
    
    public BacklightCanvas() {
        mBacklightCanvas = this;
        mBacklightDisabled = true;
        mTimer = new Timer();
        mTimer.schedule(new BacklightTimerTask(), 1, CHECKSECONDS * 1000);
    }
    
    public class BacklightTimerTask extends TimerTask {
        public void run() {
            Displayable currentDisplayable = GpsTrack.getCurrent();
            if (currentDisplayable != mBacklightCanvas) {
                if (currentDisplayable == mLastDisplayable
                        && !(currentDisplayable instanceof Alert)
                        && !(currentDisplayable instanceof TextBox)) {
                    mTimeoutSeconds += CHECKSECONDS;
                    Preferences preferences = GpsTrack.getPreferences();
                    int backlightSeconds = preferences.getBacklightSeconds();
                    if (backlightSeconds != 0) {
                        mBacklightDisabled = false;
                        if (mTimeoutSeconds >= backlightSeconds) {
                            mTimeoutSeconds = 0;
                            GpsTrack.flashBackLight(0); // turn backlight off
                            GpsTrack.display(mBacklightCanvas);
                        } else
                            GpsTrack.flashBackLight(CHECKSECONDS * 1000 * 2); // turn backlight on
                    } else {
                        if (!mBacklightDisabled)
                            GpsTrack.flashBackLight(CHECKSECONDS * 1000 * 2); // keep backlight on
                    }
                } else {
                    mTimeoutSeconds = 0;
                    mLastDisplayable = currentDisplayable;
                    if (!mBacklightDisabled)
                        GpsTrack.flashBackLight(CHECKSECONDS * 1000 * 2); // keep backlight on
                }
            }
        }
    }

    public void paint(Graphics g) {
        // black out display
        g.setGrayScale(0);
        g.drawRect(0, 0, getWidth() - 1, getHeight() - 1);
    }
    
    protected void keyPressed(int keyCode) {
        GpsTrack.flashBackLight(CHECKSECONDS * 1000 * 2);
        GpsTrack.display(mLastDisplayable);
    }

}

⌨️ 快捷键说明

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