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");
}
}
}
}