📄 authorlogosplashcanvas.java
字号:
package jsky;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import java.io.*;
import java.util.*;
public class AuthorLogoSplashCanvas extends GameCanvas implements Runnable {
private Display display;
private final Dragon midlet;
private Image splashTextImage;
private volatile boolean dismissed = false;
int guageLength;
AuthorLogoSplashCanvas(Dragon midlet){
super(true);
this.midlet = midlet;
setFullScreenMode(true);
try{
splashTextImage = Image.createImage("/img/system/splashText.png");
}catch(IOException ie){
System.err.println("SplashCanvas pic error");
}
new Thread(this).start();
}
/**
* 这里的线程等待和加载资源和显示菜单同步
* 所以在显示闪屏的同时系统也在加载资源
* 利用同步信号量volatile类型的参数做条件
* 一个同步体和一个同步方法完成此闪屏操作.
*/
public void run(){
synchronized(this){
try{
wait(3000L); // 3 seconds
}catch (InterruptedException e){
}
dismiss();
}
}
public void paint(Graphics g){
int width = getWidth();
int height = getHeight();
g.setColor(0x00cccccc); //
g.fillRect(0, 0, width, height);
g.setColor(0x00FF0000);
g.drawRect(1, 1, width-2, height-2);
g.setColor(0x0000ff);
g.setFont(Font.getFont(Font.FACE_SYSTEM,
Font.STYLE_BOLD,
Font.SIZE_SMALL));
g.drawString("Version: " + midlet.getAppProperty("MIDlet-Version"),getWidth()/2 -30,getHeight() - 60,Graphics.LEFT|Graphics.TOP);
g.drawString("Author: Jsky",getWidth()/2 - 30,getHeight() - 40,Graphics.LEFT|Graphics.TOP);
g.drawString("Loading...",getWidth()/2 -20,getHeight()-20,Graphics.LEFT|Graphics.TOP);
if (splashTextImage != null){
g.drawImage(splashTextImage,
30,40,
Graphics.LEFT| Graphics.TOP);
}
}
private synchronized void dismiss(){
if (!dismissed){
dismissed = true;
midlet.splashScreenDone();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -