📄 canvasdemo.java
字号:
/*
* CanvasDemo.java
*
* Created on 2005年4月26日, 上午11:48
*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**
*
* @author Liu Bin
* @version
*/
public class CanvasDemo extends MIDlet implements CommandListener {
private Display display;
private MyCanvas can = null;
//命令按钮
private Command cmdFullScreen = new Command("全屏显示", Command.OK, 1);
private Command cmdExit = new Command("退出", Command.STOP, 1);
public CanvasDemo() {
display = Display.getDisplay(this);
can = new MyCanvas(this);
can.addCommand(cmdFullScreen);
can.addCommand(cmdExit);
can.setCommandListener(this);
}
public void startApp() {
display = Display.getDisplay(this);
display.setCurrent(can);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
notifyDestroyed();
}
/**
* 命令按钮事件
*/
public void commandAction(Command c, Displayable d) {
String label = c.getLabel();
if (label.equals("退出")) {
destroyApp(true);
}
if (label.equals("全屏显示")) {
can.setFullScreenMode(true);
if (!can.hasPointerEvents()) {
can.pointerValue = null;
System.out.println("不支持指针事件");
}
can.removeCommand(cmdFullScreen);
can.removeCommand(cmdExit);
can.repaint();
}
}
class MyCanvas extends Canvas {
//保留屏幕的原始尺寸和全屏后的尺寸
int oldW, oldH, newW, newH;
//保留按键值
String keyValue;
//保留指针值
String pointerValue;
CanvasDemo parent = null;
public MyCanvas(CanvasDemo parent) {
super();
this.parent = parent;
oldW = getWidth();
oldH = getHeight();
}
protected void paint(Graphics g) {
//清除画布
g.setColor(0xFFFFFF);
g.fillRect(0, 0, getWidth(), getHeight());
//在画布上输出信息
g.setColor(0x000000);
g.drawString("屏幕的原始大小为:" + oldW + "," + oldH, 0, 0,
Graphics.TOP | Graphics.LEFT);
g.drawString("全屏尺寸大小为:" + newW + "," + newH, 0, 20,
Graphics.TOP | Graphics.LEFT);
if (keyValue != null) {
g.drawString("用户按键值为:" + keyValue, 0, 60,
Graphics.TOP | Graphics.LEFT);
}
if (pointerValue != null) {
g.drawString(pointerValue, 0, 80,
Graphics.TOP | Graphics.LEFT);
} else {
g.drawString("该设备不支持指针", 0, 80,
Graphics.TOP | Graphics.LEFT);
}
}
protected void keyPressed(int keyCode) {
keyValue = String.valueOf(keyCode) + " 按键为:" + (char)keyCode +
" 键名为:" + getKeyName(keyCode);
repaint();
}
protected void pointerPressed(int x, int y) {
pointerValue = "指针位置为: " + x + "," + y;
repaint();
}
protected void sizeChanged(int w, int h) {
newW = w;
newH = h;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -