Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > Можно ли завершить цикл


Автор: WGR 11.9.2006, 22:11
Код

if (c == playCommand) {
    i=0;
    mri.nachat=true;        
    Display.getDisplay(this).setCurrent(mri);
    while (mri.nachat==true)
    {mri.drawtxt(slova[i],pslova[i]);
      mri.sleeps();
    //mri.setCommandListener(this);
    i++;
    }


это кусок кода в одном файле

 а вот этот оброботчик в другом

public void inputKey() 
    {int keyStates=getKeyStates();
    if ((keyStates&LEFT_PRESSED)!=0) 
        {nachat=false;
        }
}
и цикл не останавливается 

тут как я понимаю клавиши не обробатываются поэтому и не выходит 

подскажите как по нажанию клавиши остановить цикл

Автор: redrick 11.9.2006, 23:24
Превый цикл должен работать в другом треде, нежели твой обработчик. Т.е. нужно создать тред с этим циклом и запустить его.
А элемент уи, в котором стоит обработчик должен во время нажатия быть активным, т.е. последний Display.setCurrent() должен сеттить именно этот твой элемент уи с обработчиком.
Вот 2 хорошие статьи
http://developers.sun.com/techtopics/mobility/midp/articles/threading2/
http://developers.sun.com/techtopics/mobility/midp/articles/threading/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)