📄 splash.java
字号:
package mysubmarine;
import java.util.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.GameCanvas;
public class Splash extends GameCanvas implements Runnable {
private UIController controller;
private StringBuffer strTitle; //屏幕的标题
private Image img; //屏幕的图片
private int nWidth = getWidth(); //屏幕宽度
private int nHeight = getHeight(); //屏幕高度
private Vector message = new Vector(); //需要显示在屏幕上的消息
private Timer timer = new Timer(); //定时器
private long displayTime = 3000; //默认的屏幕显示的时间
private Graphics g = getGraphics();
public Splash(UIController controller, StringBuffer Info) {
super(false);
this.controller = controller;
this.strTitle = Info;
}
public Splash(UIController controller, StringBuffer Info, Image img) {
super(false);
this.controller = controller;
this.strTitle = Info;
this.img = img;
}
public void run() {
while (true) {
try {
//每50ms重画一次
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
this.paintCanvas(g);
}
}
/**
* paint
*
* @param graphics Graphics
* @todo Implement this javax.microedition.lcdui.Canvas method
*/
protected void paintCanvas(Graphics graphics) {
graphics.setColor(0, 0, 0);
graphics.fillRect(0, 0, nWidth, nHeight);
if (img != null) {
graphics.drawImage(img, nWidth / 2, nHeight / 2,
Graphics.HCENTER | Graphics.VCENTER);
}
graphics.setColor(255, 0, 0);
graphics.setFont(Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_BOLD,
Font.SIZE_LARGE));
graphics.drawString(strTitle.toString(),
nWidth / 2 - strTitle.toString().length() / 2,
nHeight / 4,
Graphics.BASELINE | Graphics.HCENTER);
this.flushGraphics();
}
/**
* setDisplayTime
* @param long time
* 设置显示时间
*/
public void setDisplayTime(long time) {
this.displayTime = time;
}
public long getDisplayTime() {
return this.displayTime;
}
/**
* showNotify
* 改写系统的showNotify函数,调度时钟任务
*/
protected void showNotify() {
timer.schedule(new TimerTask() {
public void run() {
disappear();
}
},
displayTime
);
}
protected void keyPressed(int keyCode) {
this.disappear();
}
/**
* disappear
* 取消当前屏幕的显示,显示下一个屏幕
*/
private void disappear() {
timer.cancel();
controller.handleEvent(UIController.EventID.EVENT_GAME_RUN);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -