Могу ли я использовать холст и форму вместе в приложении - PullRequest
0 голосов
/ 18 июня 2011

Могу ли я использовать Canvas и форму вместе в приложении? Если да, то как я могу получить доступ к форме из Canvas?

Ответы [ 3 ]

1 голос
/ 16 февраля 2012

Вам нужен ваш мидлет, чтобы найти его отображение (и форму). Вы бы отправили ссылку на ваш мидлет в конструктор canvas. Так что ваш холст будет выглядеть так:

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

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

    ...
}   

Где "myMIDlet" - это название вашего мидлета.
В вашем мидлете:

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);

Справка:
CodeProject

1 голос
/ 20 июня 2011

Да, вы можете использовать оба, но не одновременно.Вы можете переключаться между ними, используя Display.setCurrent().

0 голосов
/ 17 октября 2011

Вы можете переключить форму на холст.Например:

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

Но в Canvas to Form я не знаю.

...