📄
字号:
该方法是采用内部类来实现的
import javax.microedition.midlet.*;import javax.microedition.lcdui.*;/** * Loading演示 * @author gaogao * */class MainCanvas extends Canvas implements Runnable { //程序状态 static final int LOADING = 0; static final int GAMEING = 1; //程序状态控制器 int state = LOADING; //主线程 Thread thread = null; //是否loading完毕, boolean isLoaded = false; //内部类,新开读取资源的 线程 class Loading implements Runnable { //内线程 Thread innerThread = null; public Loading() { innerThread = new Thread(this); innerThread.start(); } int counter = 300; public void run() { //模拟读取资源 //把下面的东西改成读取资源的代码即可 while (counter > 0) { counter--; try { Thread.sleep(20); } catch (Exception ex) { } } //loading结束 isLoaded = true; } } Loading loading = null; public MainCanvas() { loading = new Loading(); thread = new Thread(this); thread.start(); } int loadingCounter = 0; //绘制.. public void paint(Graphics g) { g.setColor(0); g.fillRect(0, 0, getWidth(), getHeight()); switch (state) { case LOADING: { g.setColor(0XFFFFFF); g.drawString("LOADING" + ">>>>>".substring(0, loadingCounter), getWidth() >>1 , getHeight() >>1,Graphics.HCENTER | Graphics.TOP); loadingCounter = ++loadingCounter % 5; } break; case GAMEING: { g.setColor(0XFFFFFF); g.drawString("GAME", getWidth() >> 1, getHeight() >> 1, Graphics.HCENTER | Graphics.TOP); } break; } } public void run() { while (true) { try { Thread.sleep(100); } catch (Exception ex) { } if (isLoaded) { loading = null; state = GAMEING; } repaint(0, 0, getWidth(), getHeight()); serviceRepaints(); } }}public class Main extends MIDlet { MainCanvas mc; public void startApp() { if (mc == null) { mc = new MainCanvas(); Display disp = Display.getDisplay(this); disp.setCurrent(mc); } } public void destroyApp(boolean bool) { } public void pauseApp() { }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -