Napravio sam jedan text editor i implementirao search koristeci while loop. Svaki ciklus loopa pronadje zadani string (ako postoji) i markira ga, zatim trazi sledecu instancu tog stringa dalje u textu i markira ga (s tim sto demarkira prethodni) itd sve dok dodje do poslednje instance. Sve to lepo radi kako sam zamislio, i samo sam jos hteo da dodam prekid loopa posle svakog ciklusa, da bi korisnik pritiskom na neki taster (f3 npr) nastavio po zelji da trazi sledeci match.
Medjutim to se ispostavilo komplikovano, tj. nisam nista osmislio niti nasao na netu.
Da li ima neka jednostavna naredba koja ce da pauzira loop. Najzgodnije bi bilo nesto kao getch() u C++, koje zaustavlja program i ceka da korisnik tipne nesto. Evo kako loop izgleda:
Code:
public void find()
{
String word;
String text = textArea.getText();
int initialTextLength = text.length();
word = JOptionPane.showInputDialog("Find what: ");
if(word != null)
{
int addPosition = 0;
int start = text.indexOf(word);//
while (start != -1)//means word not found
{
start += addPosition;
int end = start + word.length();//This determines the end of the selection
textArea.select(start, end);
text = text.substring(end - addPosition, text.length());
addPosition = initialTextLength - text.length();
start = text.indexOf(word) ;
}
}
}
Zahvaljujem na svakoj pomoci
public void find()
{
String word;
String text = textArea.getText();
int initialTextLength = text.length();
word = JOptionPane.showInputDialog("Find what: ");
if(word != null)
{
int addPosition = 0;
int start = text.indexOf(word);//
while (start != -1)//means word not found
{
start += addPosition;
int end = start + word.length();//This determines the end of the selection
textArea.select(start, end);
text = text.substring(end - addPosition, text.length());
addPosition = initialTextLength - text.length();
start = text.indexOf(word) ;
}
}
}












Kako da pauziram while loop?