/*  * imageItemlet.java  *  * Created on 2005年4月17日, 下午8:56  */ import javax.microedition.midlet.*; import javax.microedition.lcdui.*; /**  *  * @author  Administrator  * @version  */ public class imageItemlet extends MIDlet implements CommandListener, ItemCommandListener{          private Form aForm;     private Image sohuImage;     private Image neImage;     private ImageItem sohuImageItem;     private ImageItem neImageItem;     private Display aDisplay;     private Command exitCommand;     private Command connectCommand;     private Spacer aSpacer;     private Alert anAlert;               public imageItemlet() {         aForm=new Form("ImageItemTest");         exitCommand=new Command("EXIT",Command.EXIT,1);         connectCommand=new Command("Connect",Command.ITEM,2);         aSpacer=new Spacer(10,2);         anAlert=new Alert("Connecting...","Connecting to www.163.com ...",                 null,AlertType.INFO);         try{             sohuImage=Image.createImage("/sohu.png");             sohuImageItem=new ImageItem(null,sohuImage,ImageItem.LAYOUT_RIGHT,                     "This is Sohu!");                          aSpacer.setLayout(Item.LAYOUT_EXPAND);              //The profram will connect to www.163.com and display the Alert             //when click the ImageItem of 163.png .
              neImage=Image.createImage("/163.png");             neImageItem=new ImageItem(null,neImage,ImageItem.LAYOUT_RIGHT,                     "This is 163",Item.HYPERLINK);             neImageItem.setItemCommandListener(this);             neImageItem.setDefaultCommand(connectCommand);                          aForm.append(sohuImageItem);             aForm.append(aSpacer);             aForm.append(neImageItem);             aForm.addCommand(exitCommand);             aForm.setCommandListener(this);         }                           catch (Exception e){             e.printStackTrace();         }              }     public void startApp() {         aDisplay=Display.getDisplay(this);         aDisplay.setCurrent(aForm);     }          public void pauseApp() {     }          public void destroyApp(boolean unconditional) {     }          public void commandAction(Command c,Displayable d){         if(c==exitCommand){             destroyApp(false);             notifyDestroyed();         }     }          public void commandAction(Command c,Item i){         if(c==connectCommand){             aDisplay.setCurrent(anAlert,aForm);         }     }           }
 
 这个程序的比较新的地方在于使用了midp2.0中新增加的ITEM类的外观模式和SPACER类。其中外观模式的使用在StringItem中已经介绍过了。 public Spacer(int minWidth, int minHeight),SPACER类在本程序中设置为Item.LAYOUT_EXPAND,即填充剩余的空白部分。这样,运行后可以看到两个ImageItem对象分别位于左右两端,布局上好看一些。  
 
  |