我已经构建了一个包含Midlet的LWUIT UI类。我基本上使用了这个midlet中的一个主题。但是我需要跳转到另一个包含一些LCDUI控件的LCDUI表单,并且我需要设置显示该LCDUI表单。那么,是否可以从LWUIT表单跳到LCDUI表单,并设置显示LCDUI表单?如果可能的话,怎么做?
发布于 2011-07-11 19:24:43
我使用以下代码来显示LWUIT表单和LCDUI表单。请参阅示例代码。
com.sun.lwuit.Form lwuitForm;
protected void startApp() throws MIDletStateChangeException {
Display.init(this);
lwuitForm = new com.sun.lwuit.Form("LWUIT Form");
lwuitForm.addComponent(new TextField(""));
final MIDlet midlet = this;
final Command abtUsCmd = new Command("Next") {
public void actionPerformed(ActionEvent evt) {
javax.microedition.lcdui.Form frm = new javax.microedition.lcdui.Form("LCDUI Form");
StringItem item = new StringItem("Text", "Sample text");
frm.append(item);
final javax.microedition.lcdui.Command cmd = new javax.microedition.lcdui.Command("Back", javax.microedition.lcdui.Command.BACK, 0);
CommandListener cmdLis = new CommandListener() {
public void commandAction(javax.microedition.lcdui.Command c, Displayable d) {
if(c == cmd) {
Display.init(midlet);
lwuitForm.show(); // Show the LWUIT form again
}
}
};
frm.setCommandListener(cmdLis);
frm.addCommand(cmd);
javax.microedition.lcdui.Display.getDisplay(midlet).setCurrent(frm); // show the LCDUI Form
}
};
lwuitForm.addCommand(abtUsCmd);
lwuitForm.show(); // Show the LWUIT Form
}发布于 2013-02-28 14:43:57
这看起来很棘手,但是的,我们可以在两者之间切换。诀窍是,当您显示LWUIT窗体时,在它成功绘制到屏幕上之后,调用
javax.microedition.lcdui.Display.getDisplay(midlet).getCurrent();
这为您提供了包含所有LWUIT视图的Displayable,因此,您可以随时切换到LCDUI,然后使用LCDUI的LWUIT
display.setCurrent
如果这对你有效,请告诉我。谢谢
https://stackoverflow.com/questions/6639699
复制相似问题