backlightcanvas.java
来自「GPS Track connects to a GPS and records 」· Java 代码 · 共 71 行
JAVA
71 行
// 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 + =
减小字号Ctrl + -
显示快捷键?