我可以在应用程序中同时使用 Canvas 和 form 吗?如果是,那么我如何从 Canvas 访问表单?
问问题
826 次
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 回答