我正在使用 LWUIT 制作应用程序。
有一个表格
表格中嵌入了一个列表。
该列表有 5 个元素。
最初,当我第一次加载应用程序时,如果我选择第一个元素,则选择第二个;当我选择第二个时,选择第三个等等(奇怪!)
我也无法点击屏幕上的任何按钮
接下来我要做的是,从使用箭头键(键盘的...我在模拟器上运行应用程序顺便说一句)转换为不同的
然后我回到第一种形式,现在一切都按预期工作(没有奇怪的行为)。
可能是什么问题?
我正在使用 Sun Java Micro Edition SDK 3.0(默认触摸屏进行测试)
我的代码是:
List dummy = new List();
dummy.addItem("wewerwer");
dummy.addItem("wewerdswer");
dummy.addItem("wewqweerwer");
dummy.addItem("dscxwewerwer");
dummy.addItem("jhgwewerwer");
mainListForm.setLayout(new BorderLayout());
mainListForm.addComponent(BorderLayout.CENTER,dummy);
mainListForm.show();
这里可能出了什么问题?
更新 1
我认为这里有一个错误。我附上了下面的完整代码以及屏幕截图
import javax.microedition.midlet.*;
import com.sun.lwuit.*;
import com.sun.lwuit.events.*;
import com.sun.lwuit.plaf.UIManager;
import com.sun.lwuit.util.Resources;
public class Demo extends MIDlet implements ActionListener {
private Form mForm;
List abc;
public void startApp() {
Display.init(this);
try {
Resources r = Resources.open("/Test.res");
UIManager.getInstance().setThemeProps(r.getTheme(
r.getThemeResourceNames()[0])
);
} catch (Exception e){
System.out.println(e.toString());
}
if (mForm == null) {
Button click = new Button("Press me!");
click.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
System.out.println("I have been pressed");
}
});
abc = new List();
abc.addItem("Str1");
abc.addItem("Str2");
abc.addItem("Str3");
abc.addItem("Str4");
abc.addItem("Str5");
abc.addItem("Str6");
Form f = new Form("Hello, LWUIT!");
abc.addActionListener(this);
f.addComponent(abc);
Command exitCommand = new Command("Exit");
f.addCommand(exitCommand);
f.addCommandListener(this);
f.addComponent(click);
f.show();
}
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void actionPerformed(ActionEvent ae) {
System.out.println(abc.getSelectedIndex());
}
}
所以现在当我点击列表中的“Str1”时,Str2 被选中,依此类推。
IDE:Netbeans Emulator:默认触摸屏手机