📄 cmddemo2.java
字号:
//CmdDemo2.java file
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class CmdDemo2 extends MIDlet implements CommandListener
{
//添加多几个Command 对象
private Command exitCommand,helpCommand,backCommand;
private Command canvasCommand1,canvasCommand2;
private DemoCanvas myCanvas;
private ChildCanvas canvasChild1,canvasChild2;
public CmdDemo2()
{//在构造函数中创建Command 对象
helpCommand =new Command("HELP",Command.HELP,1);
backCommand =new Command("BACK",Command.BACK,2);
exitCommand =new Command("EXIT",Command.EXIT,2);
canvasCommand1 =new Command("Canvas1",Command.SCREEN,3);
canvasCommand2 =new Command("Canvas2",Command.SCREEN,3);
myCanvas =new DemoCanvas();
myCanvas.addCommand(exitCommand);
myCanvas.addCommand(helpCommand);
myCanvas.addCommand(canvasCommand1);
myCanvas.addCommand(canvasCommand2);
myCanvas.setCommandListener(this);
//创建子界面一
canvasChild1 =new ChildCanvas("Child 1",myCanvas,this);
canvasChild1.addCommand(helpCommand);
canvasChild1.addCommand(backCommand);
canvasChild1.setCommandListener(this);
//创建子界面二
canvasChild2 =new ChildCanvas("Child 2",myCanvas,this);
canvasChild2.addCommand(helpCommand);
canvasChild2.addCommand(backCommand);
canvasChild2.setCommandListener(canvasChild2);
}
protected void startApp( ) throws MIDletStateChangeException
{
Display.getDisplay(this).setCurrent(myCanvas);
}
protected void pauseApp( )
{
}
protected void destroyApp( boolean p1 )
{
}
public void commandAction(Command c,Displayable d)
{//处理命令事件
if (Command.HELP ==c.getCommandType())
{
System.out.println("helpCommand selected");
}
else if (c ==exitCommand)
{
destroyApp(false);
notifyDestroyed();
}
else if (c ==canvasCommand1)
{
Display.getDisplay(this).setCurrent(canvasChild1);
}
else if (c ==canvasCommand2)
{
Display.getDisplay(this).setCurrent(canvasChild2);
}
else if (Command.BACK ==c.getCommandType())
{
System.out.println("backCommand selected");
Display.getDisplay(this).setCurrent(myCanvas);
}
}
//internal class HelloWorldCanvas
public class DemoCanvas extends Canvas
{
//把对象修改为public类型
public String textShow="CmdDemo";
public DemoCanvas()
{
}
public void paint(Graphics g)
{
g.setColor(0xffffff);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0x000000);
g.drawString(textShow,0,0,Graphics.TOP|Graphics.LEFT);
}
protected void keyPressed(int keyCode)
{
}
protected void keyReleased(int keyCode)
{
}
protected void keyRepeated(int keyCode)
{
}
protected void pointerDragged(int x, int y)
{
}
protected void pointerPressed(int x, int y)
{
}
protected void pointerReleased(int x, int y)
{
}
}
//子界面,实现CommandListener接口
public class ChildCanvas extends Canvas implements CommandListener
{
public String textShow;
Canvas backCanvas;
MIDlet midletParent;
public ChildCanvas(String title, Canvas back, MIDlet midlet)
{//赋值
textShow = title;
backCanvas = back;
midletParent = midlet;
}
public void paint(Graphics g)
{//绘图
g.setColor(0xffffff);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0x000000);
g.drawString(textShow,0,0,Graphics.TOP|Graphics.LEFT);
}
protected void keyPressed(int keyCode)
{
}
protected void keyReleased(int keyCode)
{
}
protected void keyRepeated(int keyCode)
{
}
protected void pointerDragged(int x, int y)
{
}
protected void pointerPressed(int x, int y)
{
}
protected void pointerReleased(int x, int y)
{
}
public void commandAction(Command c,Displayable d)
{//处理命令事件
if (Command.BACK ==c.getCommandType())
{
Display.getDisplay(midletParent).setCurrent(backCanvas);
}
else if (Command.HELP ==c.getCommandType())
{
System.out.println("helpCommand selected");
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -