⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmddemo2.java

📁 J2ME MIDP 2.0 无线设备编程的一些源码
💻 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 + -