5

Midlet を含む LWUIT UI クラスを作成しました。私は基本的にこの midlet のテーマを使用しています。しかし、いくつかの LCDUI コントロールを含む別の LCDUI フォームにジャンプする必要があり、その LCDUI フォームの表示を設定する必要があります。LWUIT フォームから LCDUI フォームにジャンプして、LCDUI フォームを表示するように設定することはできますか? 可能であればどのように?

4

2 に答える 2

5

次のコードを使用して、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
}
于 2011-07-11T11:24:42.920 に答える
1

これは難しそうに見えますが、両方を切り替えることができます。トリックは、LWUITフォームを表示するときに、画面に正常に描画された後、呼び出しを行うことです

javax.microedition.lcdui.Display.getDisplay(midlet).getCurrent();

これにより、すべての LWUIT ビューを保持する Displayable が得られるため、これにより、いつでも LCDUI に切り替え、LCDUI の LWUIT に戻ることができます。

display.setCurrent

これがうまくいくかどうか教えてください。ありがとう

于 2013-02-28T06:43:57.200 に答える