c.repaint();
c.serviceRepaints();
while(com==0) Thread.sleep(80);
if(com==1) s=tb.getString();
вот это прошу прощения, полный идиотизм с точки зрения программирования. Java - объектный язык и обработка событий нормальный способ взаимодействия.
скажите зачем системе в цикле проверять com==1? если при нажатии "ОК" мы просто начнем выполнять код?
Не идите на поводу методики МР, она во многом ущербна из-за желания автора упростить язык.
public class Main extends MIDlet implements CommandListener{
public static Display display;
public static TextBox tb;
public Command cmdOK = new Command("OK", Command.OK, 0);
public Command cmdBack = new Command("Назад", Command.BACK, 0);
public void startApp() {
display = Display.getDisplay(this);
display.setCurrent(tb = new TextBox("Введите", null, 50, TextField.ANY));
tb.addCommand(cmdOK);
tb.addCommand(cmdBack);
tb.setCommandListener(this);
}
public void commandAction(Command c, Displayable d) {
if(d==tb && c == cmdOK)
display.setCurrent(new Form("Вы ввели", new Item[] {new StringItem("Введено", tb.getString())}));
}
примерно так.