E' da questo mattina che sto cercando di risolvere un mio problema, sia cercando su internet che su questo forum, ma niente, non trovo la soluzione.
Ho scritto questo codice:
In poche palore, scrivendo una parola in jtextfield1 mi dovrebbe cercare la prima occorrenza di quella parola all'interno di text_pane, tutto questo mi funziona, ma in parte, ora spiego meglio:
Se la parola da cercare si trova sulla prima riga di text_pane me la trova senza problemi, ma se questa si trova nella seconda o nella tersa riga mi da problemi, nel senso che mi seleziona alcuni caratteri dopo o l'ultimo caratteri della parola cercata più altri caratteri, insomma mi seleziona a caso.
Ho pensato, forse il problema è il metodo indexOf() fa confusione con il caratteri ritorna a capo, se fosse cosi basterebbe eseguire la ricerca su ogni riga, ma vorrei, sempre se è possibile evitare questo.
Come è possibile risolvere il mio problema?
Ho scritto questo codice:
Codice:
String originText = text_pane1.getText();String findWord = jtextfield1.getText();
int found = originText.indexOf(findWord);
if (found > -1) {
textpane.grabFocus();
textpane.select(found, found + findWord.length());
}else {
JOptionPane.showMessageDialog(null, "Parola non trovata");
}
In poche palore, scrivendo una parola in jtextfield1 mi dovrebbe cercare la prima occorrenza di quella parola all'interno di text_pane, tutto questo mi funziona, ma in parte, ora spiego meglio:
Se la parola da cercare si trova sulla prima riga di text_pane me la trova senza problemi, ma se questa si trova nella seconda o nella tersa riga mi da problemi, nel senso che mi seleziona alcuni caratteri dopo o l'ultimo caratteri della parola cercata più altri caratteri, insomma mi seleziona a caso.
Ho pensato, forse il problema è il metodo indexOf() fa confusione con il caratteri ritorna a capo, se fosse cosi basterebbe eseguire la ricerca su ogni riga, ma vorrei, sempre se è possibile evitare questo.
Come è possibile risolvere il mio problema?