Java 使用J2ME进行幻灯片放映

Java 使用J2ME进行幻灯片放映,java,java-me,Java,Java Me,我希望这段代码适用于幻灯片放映。但它只显示最后一张图片。有人能解释一下哪里出了问题吗 public class Midlet extends MIDlet implements CommandListener { String file[] {"/logo.png","/logo1.png","/logo2.png","/logo3.png","/logo4.png"}; public Midlet() throws IOException { display =

我希望这段代码适用于幻灯片放映。但它只显示最后一张图片。有人能解释一下哪里出了问题吗

    public class Midlet extends MIDlet implements CommandListener {

String file[] 
{"/logo.png","/logo1.png","/logo2.png","/logo3.png","/logo4.png"}; 
public Midlet() throws IOException 
{
        display = Display.getDisplay(this);
        form=new Form("SlideShow");
        start=new Command("Start",Command.OK,1);
        form.addCommand(start);
        form.setCommandListener(this);

}
public void startApp() {
    display.setCurrent(form);
}

public void commandAction(Command c, Displayable d) {
    if(c==start)
    {


    try {
            for(int i=0;i<5;i++)
            {
            img[i]=Image.createImage(file[i]);
            imageItem[i] = new ImageItem("Muruga",img[i] , 
ImageItem.LAYOUT_CENTER, "image not found");
            form1[i]=new Form("Images");
            form1[i].append(imageItem[i]);
            form1[i].setCommandListener(this);
            display.setCurrent(form1[i]);
            }
公共类Midlet扩展Midlet实现CommandListener{
字符串文件[]
{“/logo.png”、“/logo1.png”、“/logo2.png”、“/logo3.png”、“/logo4.png”};
public Midlet()引发IOException
{
display=display.getDisplay(这个);
表格=新表格(“幻灯片”);
start=新命令(“start”,Command.OK,1);
form.addCommand(启动);
form.setCommandListener(this);
}
公开作废startApp(){
显示。设置当前(表格);
}
公共无效命令操作(命令c,可显示d){
如果(c==开始)
{
试一试{

for(int i=0;iSeems-like屏幕不会刷新,而commandAction不会返回。请创建一个新线程以在窗体之间切换。@Telmo Pimentel Mota Yeah。该线程正确执行,正确打印循环值,但图像没有更改。因此,我在startApp()中编写了整个代码这个函数工作得很好。不管怎样,谢谢你提供关于它出错原因的信息
            for(int i=0;i<5;i++)
            {
            System.out.println(i+1);
            display.setCurrent(form1[i]);
            long milli=System.currentTimeMillis();
            while(System.currentTimeMillis()<=milli+1000)
            {
                display.setCurrent(form1[i]);

            }
            if(i==4)
                destroyApp(true);
            }
        } catch (IOException ex) {
            System.out.println("Not found");
        }
    }
}
}