Ни как не получается, вот пример кода, в чем ошибка? Пытаюсь из класса Midlet передать строку str в класс mycanvas
Код |
import javax.microedition.midlet.*; import javax.microedition.lcdui.*;
public class Midlet extends MIDlet implements CommandListener{ private Command show = new Command ("Показать",Command.SCREEN,1); private Form myform = new Form ("Test"); private TextField tf = new TextField("Enter text","",100,TextField.ANY); private Display mydisplay = Display.getDisplay(this); private String str; Canvas canvas = new mycanvas();
public String getStr() { return this.str; }
public void startApp() {
myform.append(tf); myform.addCommand(show); myform.setCommandListener(this); mydisplay.setCurrent(myform); }
public void pauseApp() { }
public void destroyApp(boolean unconditional) { } public void commandAction (Command c, Displayable d) { if (c==show) { str=tf.getString(); mydisplay.setCurrent(canvas); } } } class mycanvas extends Canvas{
public void paint(Graphics g) { Midlet m=new Midlet(); g.setColor(0xffffff); g.fillRect(0, 0, getWidth(), getHeight()); g.setColor(0x000000); g.setFont(Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_BOLD, Font.SIZE_MEDIUM)); g.drawString(m.getStr(), 20, 20, Graphics.HCENTER | Graphics.TOP);
}
}
|
|