/*
* 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对象分别位于左右两端,布局上好看一些。