Показать сообщение отдельно
Старый 06.11.2008, 20:17   #15
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Ответ: Получение команд в формах

   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())}));
    }
примерно так.

Последний раз редактировалось Piligrim, 06.11.2008 в 20:35.
(Offline)
 
Ответить с цитированием