Pateikiu analogiska pavyzdi ir galima sprendima. Sprendimo esme perduoti i Calculator save. Bet gali toks sprendimas ir neveikti, jei kokia nors desktopines aplikacijos langas pradedamas keisti kitame thread'e. Kitas solutionas butu perduoti kazkoki tai listeneri, o pagrindine klase kaz kazkiek laiko tikrintu sita listneri ar pasikeite koks flagas. public class MainRun extends Thread { public static void main(String[] args) { MainRun a = new MainRun(); a.startButton(); a.start(); } public void startButton() { System.out.println("Start"); } public void stopButton() { System.out.print("Stop"); } public void run() { new Calculator().calculate(this); } } public class Calculator { public void calculate(MainRun mainRun) { try { Thread.sleep(10000); mainRun.stopButton(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } "Tadas B." <nera@mailo.com> wrote in message news:op.u8zdgmkod7giwi@pz-tadbra.kdomain.pienozvaigzdes.lt... > sveiki, > > Gal galite kas paprotinti, kaip isspresti toki reikala: > Turiu MIDlet'a, kuriame yra vizualizacija, t.y. mygtukai, rezultatai ir > panasiai. Kitame package ir aisku kitoje klaseje (tarkim CLASS2) turiu > metodus, kurie daro tam tikrus veiksmus. Is MIDlet'o paleidziu komanda > "Start", kuri paleidzia CLASS2.calculate() metoda. MIDlet'e pasalinu > komanda Start ir pridedu komanda Stop (rankiniam proceso stabdymui). As > nemoku, kaip padaryti, kad kai calculate() metodas baigia darba MIDlet'e > pasalintu Stop komanda ir grazintu Start. Kam geriau skaitosi is kodo, > pridedu zemiau pvz. Kodel isskiriu vizualizacija ir action'a > neklausinekite - taip reikia, jei tureciau viska MIDlet'e klausimu > nebutu:) > > > MIDlet: > > public class HelloMIDlet extends MIDlet implements CommandListener, > ItemCommandListener { > private Command screenCommandstart; > private Command screenCommandstop; > .... > public void commandAction(Command command, Displayable displayable){ > if (displayable == form) { > if (command == screenCommandstart) { > form.removeCommand(getScreenCommandstart()); > form.addCommand(getScreenCommandstop()); > new metodas().Start(); > } else if (command == screenCommandstop) { > form.removeCommand(getScreenCommandstop()); > form.addCommand(getScreenCommandstart()); > } > } > } > ---------- > CLASS2: > > public class CLASS2 { > > public void calculate(){ > try { > //do something > } catch (InterruptedException e) { > } > //cia realiai reiktu paleisti commandAction(screenCommandstop, > form) MIDlet'e > > } > > -- > Tadas B.