📄 screensaver.java
字号:
package screensaver;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.util.*;
public class ScreenSaver extends MIDlet {
private Display display; // 当前舞台
private Timer timer; // 定时器
private LinesTimerTask task; // 定时执行的任务
private ScreenSaverCanvas canvas; // 绘制线条的类
public ScreenSaver() {
display = Display.getDisplay(this);
canvas = new ScreenSaverCanvas(this);
// 每隔半秒钟执行一次任务
timer = new Timer();
task = new LinesTimerTask(canvas);
timer.schedule(task, 0, 500);
}
protected void startApp() {
display.setCurrent(canvas);
}
protected void pauseApp() {}
protected void destroyApp(boolean unconditional) {}
public void exitMIDlet() {
destroyApp(true);
notifyDestroyed();
}
}
class LinesTimerTask extends TimerTask
{
private ScreenSaverCanvas canvas;
private Random random;
public LinesTimerTask(ScreenSaverCanvas canvas)
{
random = new java.util.Random();
this.canvas = canvas;
}
/*--------------------------------------------------
*决定下一个划线的结束点
*-------------------------------------------------*/
public final void run()
{
//得到随机的x,y坐标值,确保是在画布范围内的值
canvas.endx = (random.nextInt() >>> 1) % canvas.getWidth();
canvas.endy = (random.nextInt() >>> 1) % canvas.getHeight();
//记录已经划的线条
canvas.linesDrawn++;
canvas.repaint();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -