📄 page230canvas.java~26~
字号:
package page230;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import java.util.*;
public class page230Canvas extends Canvas implements CommandListener {
private int[] pixelArray;
private Image image = null;
private int pixelArraySize, displayWidth, displayHeight, randomPixel;
private Command cmdExit;
private Random random;
private Timer tm;
private TimerTask tt;
private boolean initComplete = false;
page230MIDlet midlet;
public page230Canvas(page230MIDlet midlet) {
this.midlet = midlet;
cmdExit = new Command("exit", Command.EXIT, 0);
addCommand(cmdExit);
setCommandListener(this);
displayWidth = this.getWidth();
displayHeight = this.getHeight();
pixelArraySize = displayWidth * displayWidth;
random = new java.util.Random();
try {
image = Image.createImage("/page230/2.png");
}
catch (java.io.IOException e) {
System.out.println("no picture");
}
createBox();
tm = new Timer();
tt = new DrawTask();
tm.scheduleAtFixedRate(tt, 0, 1);
}
private void createBox() {//产生随机色覆盖背景图。
int red, green, blue, alpha;
long tmp;
if (pixelArray == null) {
pixelArray = new int[pixelArraySize];
red = (random.nextInt()) % 256;
green = (random.nextInt() ) % 256;
blue = (random.nextInt()) % 256;
alpha = 0xff;
tmp = (alpha << 24) | (red << 16) | (green << 8) | blue;
for (int i = 0; i < pixelArraySize; i++)
pixelArray[i] = (int) tmp;
}
}
private void updateDisplay() {
randomPixel = (random.nextInt() >>> 1) % (pixelArraySize);
for (int i = randomPixel, j = 0; j <100 && i < (pixelArraySize); j++, i++)
pixelArray[i] = 0x00000000;//设成透明色
}
private class DrawTask
extends TimerTask {
public final void run() {
updateDisplay();
repaint();
}
}
public void commandAction(Command command, Displayable displayable) {
if (command == cmdExit) {
midlet.exitMIDlet();
}
}
protected void keyPressed(int keyCode) {
// 色值全清空。
tt.cancel();
for (int i = 0; i < (pixelArraySize); i++)
pixelArray[i] = 0x00000000;
repaint();
}
protected void paint(Graphics g) {
g.setColor(0,255,0);
g.fillRect(0, 0, this.displayWidth, this.displayHeight);
if(image != null)
g.drawImage(image, getWidth()/2,getHeight()/2,g.VCENTER|g.HCENTER);
g.drawRGB(pixelArray,0,getWidth(),0,0,getWidth(),getHeight(),true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -