📄 threaddemo1.java
字号:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class threadDemo1 extends MIDlet
{
Display display;
canvasThread canvasthread;
public threadDemo1()
{
canvasthread=new canvasThread();
display=Display.getDisplay(this);
}
public void startApp()
{
display.setCurrent(canvasthread);
}
public void pauseApp(){}
public void destroyApp(boolean unconditional){}
class canvasThread extends Canvas
{
int gameaction=0;
int view=0;
goCanvas gocanvas;
boolean again;
Image[] cloudImage;
Image[] sunImage;
public canvasThread()
{
try{
cloudImage = new Image[]{
Image.createImage("/cloud-1.png"),
Image.createImage("/cloud-2.png"),
Image.createImage("/cloud-3.png"),
Image.createImage("/cloud-4.png")
};
sunImage = new Image[]{
Image.createImage("/sun-1.png"),
Image.createImage("/sun-2.png"),
Image.createImage("/sun-3.png"),
Image.createImage("/sun-4.png")
};
}catch(Exception ex){}
}
public void keyPressed(int keyCode)
{
gameaction=getGameAction(keyCode);
switch(gameaction)
{
case FIRE:
gocanvas=new goCanvas();
gocanvas.start();
gocanvas=null;
break;
}
}
public void paint(Graphics g)
{
g.setColor(0xFFFFFF);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0);
g.drawString("Thread线程动画应用", getWidth()/2, 20, Graphics.HCENTER | Graphics.TOP);
g.drawImage(sunImage[view], getWidth()/2, 50, Graphics.HCENTER | Graphics.TOP);
g.drawImage(cloudImage[view], getWidth()/2, 50, Graphics.HCENTER | Graphics.TOP);
}
class goCanvas extends Thread
{
public void run()
{
while(true)
{
try{
repaint();
Thread.sleep(500);
if(again)
view--;
else
view++;
if(again && view==0)
again=false;
if(!again && view==3)
again=true;
} catch(Exception ex){}
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -