我可以在应用程序中一起使用Canvas和form吗?如果是,那么我如何从Canvas访问表单?
答案 0 :(得分:1)
是的,您既可以同时使用,也可以不同时使用。您可以使用Display.setCurrent()
。
答案 1 :(得分: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);
参考:
codeproject
答案 2 :(得分:0)
您可以将表单切换为画布。例如:
canvasName c=new canvasName(this);
Display.getDisplay(this).setCurrent(c);
但是,在Canvas to Form中,我不知道。