点了模拟器的Select键,然后上下左右调整就可以选开始画一个立体的按钮.再点一下Select键,上下左右键就可以控制按钮的移动了.
  import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Graphics; import javax.microedition.lcdui.Ticker; /*  * Created on 2005-1-29  *  * TODO To change the template for this generated file go to  * Window - Preferences - Java - Code Style - Code Templates  */ 
/**  * @author jeremy chow  *  * TODO To change the template for this generated type comment go to  * Window - Preferences - Java - Code Style - Code Templates  */ public class FullCanvasTest extends Canvas implements CommandListener {     protected boolean pressed, drew;     int x = 50 ; int y = 50; int w = 1; int h = 1; int length = 5;     /**      *       */     public FullCanvasTest()     { //        super();         // TODO Auto-generated constructor stub //        setTitle();         pressed = false;         drew  = false;                  setTitle("全屏幕测试");         setTicker(new Ticker("跑马灯"));                  addCommand(new Command("全屏幕",Command.SCREEN,1));         addCommand(new Command("正常",Command.SCREEN,1));         setCommandListener(this);     } 
    /* (non-Javadoc)      * @see javax.microedition.lcdui.Displayable#paint(javax.microedition.lcdui.Graphics)      */     protected void paint(Graphics g)     {         // TODO Auto-generated method stub         g.setColor(200,200,200);         g.fillRect(0,0,getWidth(),getHeight());         setFullScreenMode(true);         paintButton(g, x, y , w, h,pressed);         paintCross(g, x + w, y + h, length); 
    }          public void paintButton(Graphics g, int x, int y, int w, int h, boolean p)     {         if(!p)         {             g.setColor(255,255,255);          g.fillRect(x-1, y-1, w, h);             g.setColor(125, 125, 125);          g.fillRect(x, y, w, h);         }         else         {             g.setColor(255,255,255);          g.fillRect(x, y, w, h);             g.setColor(125,125,125);             g.fillRect(x-1, y-1, w, h); 
        }        }          public void paintCross(Graphics g, int x, int y, int length)     {         g.setColor(255,0,0);         g.drawLine(x-length, y, x+length, y);         g.drawLine(x, y-length, x , y+length);     }          /* (non-Javadoc)      * @see javax.microedition.lcdui.CommandListener#commandAction(javax.microedition.lcdui.Command, javax.microedition.lcdui.Displayable)      */     public void commandAction(Command c, Displayable s)     {         // TODO Auto-generated method stub         String cmd = c.getLabel();         if(cmd.equals("全屏幕"))         {             setFullScreenMode(true);         }         else if(cmd.equals("正常"))         {             setFullScreenMode(false);         }     }          protected void sizeChanged(int w, int h)     {         System.out.println("改变后的宽度:" + w);         System.out.println("改变后的高度:" + h);     }          protected void hideNotify()     {         System.out.println("屏幕被系统遮蔽");     }          protected void showNotify()     {         System.out.println("屏幕显示在屏幕上");     }          protected void keyPressed(int keycode)     {         System.out.println("被下按的键值:" + getGameAction(keycode));         switch(getGameAction(keycode))         {          case Canvas.UP :              if(!drew) y = y - 2;              else h = h - 2;           break;          case Canvas.DOWN :              if(!drew) y = y + 2;              else h = h + 2;           break;          case Canvas.LEFT :              if(!drew)x = x - 2;              else w = w - 2;           break;          case Canvas.RIGHT :              if(!drew) x = x + 2;              else w = w + 2;           break;          case Canvas.FIRE :              pressed = true;           break;          default : break;         } //        pressed = true;         repaint();     }          protected void keyReleased(int keycode)     {         System.out.println("被释放的键值:" + getGameAction(keycode));         switch(getGameAction(keycode))         {           case Canvas.FIRE :              pressed = false;           drew = !drew;           break;          default : break;                 }                  repaint();     } }
 
  import javax.microedition.lcdui.Display; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; /*  * Created on 2005-1-29  *  * TODO To change the template for this generated file go to  * Window - Preferences - Java - Code Style - Code Templates  */ 
/**  * @author jeremy chow  *  * TODO To change the template for this generated type comment go to  * Window - Preferences - Java - Code Style - Code Templates  */ public class CanvasTestMIDlet extends MIDlet {     protected Display display;     /**      *       */     public CanvasTestMIDlet()     { //        super();         // TODO Auto-generated constructor stub         display = Display.getDisplay(this);     } 
    /* (non-Javadoc)      * @see javax.microedition.midlet.MIDlet#startApp()      */     protected void startApp() throws MIDletStateChangeException     {         // TODO Auto-generated method stub         FullCanvasTest fc = new FullCanvasTest();         display.setCurrent(fc);     } 
    /* (non-Javadoc)      * @see javax.microedition.midlet.MIDlet#pauseApp()      */     protected void pauseApp()     {         // TODO Auto-generated method stub 
    } 
    /* (non-Javadoc)      * @see javax.microedition.midlet.MIDlet#destroyApp(boolean)      */     protected void destroyApp(boolean arg0) throws MIDletStateChangeException     {         // TODO Auto-generated method stub 
    } 
}
 
 
  
 
 
 
    
 
  |