-1

アプリケーションでキャンバスとフォームを一緒に使用できますか? はいの場合、Canvas からフォームにアクセスするにはどうすればよいですか?

4

3 に答える 3

1

はい、両方を使用できますが、同時には使用できません。を使用して切り替えることができますDisplay.setCurrent()

于 2011-06-20T07:40:45.570 に答える
1

その表示 (およびフォーム) を見つけるには、MIDlet が必要です。MIDlet の参照をキャンバス コンストラクターに送信します。したがって、キャンバスは次のようになります。

class myCanvas extends Canvas implements ... {
myMIDlet myHost; // the breadcrumb

    public myCanvas(... , myMIDlet host) {
    myHost = host; // remember our host MIDlet
    ...
    }

    ...
}   

「myMIDlet」は MIDlet の名前です。
MIDlet で:

public class myMIDlet extends MIDlet implements ... {
...
Form myForm = new Form( ... 
...
myCanvas ggg = new myCanvas(... , this) // <=== note the last parameter-the key to it all
...   
//switch display to myCanvas
display.setCurrent(ggg);
...
}

「myCanvas」からフォームにアクセスしたい場合 (おそらくキャンバスの commandAction または keyPressed メソッドで)、次のようにします。

Display disp = myHost.getDisplay();
disp.setCurrent(myHost.myForm);

参考:
コードプロジェクト

于 2012-02-16T10:13:08.757 に答える
0

フォームをキャンバスに切り替えることができます。例えば:

        canvasName c=new canvasName(this);
        Display.getDisplay(this).setCurrent(c);

しかし、Canvas to Form ではわかりません。

于 2011-10-17T13:56:05.997 に答える