当前位置: 技术问答>java相关
关于显示顺序问题
来源: 互联网 发布时间:2015-11-07
本文导语: 在优先级别相同的情况下,在Menu这个系统子选单中应该按addCommand()先后顺序,以下程序应该先显示Inf2,而实际情况出现了先显示Inf1,为什么? 原程序: import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class Hello...
在优先级别相同的情况下,在Menu这个系统子选单中应该按addCommand()先后顺序,以下程序应该先显示Inf2,而实际情况出现了先显示Inf1,为什么?
原程序:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloMIDlet extends MIDlet implements CommandListener
{
private Command exitCommand;
private Command info1Command;
private Command info2Command;
private Display display;
public HelloMIDlet()
{
display = Display.getDisplay(this);
exitCommand = new Command("离开",Command.SCREEN,1);
info1Command = new Command("Info1",Command.SCREEN,2);
info2Command = new Command("Info2",Command.SCREEN,2);
}
public void startApp()
{
TextBox t = new TextBox("哈罗 MIDlet","测试zouning",256,0);
t.setCommandListener(this);
t.addCommand(exitCommand);
t.addCommand(info2Command);
t.addCommand(info1Command);
display.setCurrent(t);
}
public void pauseApp()
{
}
public void destroyApp(boolean unconditional)
{
}
public void commandAction(Command c,Displayable s)
{
if (c == exitCommand)
{
notifyDestroyed();
}else if (c == info1Command)
{
notifyDestroyed();
}
}
}
原程序:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloMIDlet extends MIDlet implements CommandListener
{
private Command exitCommand;
private Command info1Command;
private Command info2Command;
private Display display;
public HelloMIDlet()
{
display = Display.getDisplay(this);
exitCommand = new Command("离开",Command.SCREEN,1);
info1Command = new Command("Info1",Command.SCREEN,2);
info2Command = new Command("Info2",Command.SCREEN,2);
}
public void startApp()
{
TextBox t = new TextBox("哈罗 MIDlet","测试zouning",256,0);
t.setCommandListener(this);
t.addCommand(exitCommand);
t.addCommand(info2Command);
t.addCommand(info1Command);
display.setCurrent(t);
}
public void pauseApp()
{
}
public void destroyApp(boolean unconditional)
{
}
public void commandAction(Command c,Displayable s)
{
if (c == exitCommand)
{
notifyDestroyed();
}else if (c == info1Command)
{
notifyDestroyed();
}
}
}
|
什么书啊?MIDP规范并未规定具体顺序,所以根据不同厂家的JVM实现,这个顺序也是不确定的……
虽然一般实现的都是先ADD的在上面(不知道你用的什么手机或模拟器),但这是不能保证的……
虽然一般实现的都是先ADD的在上面(不知道你用的什么手机或模拟器),但这是不能保证的……
|
我试了你的程序,是先显示Inf2呀!