Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
In questo periodo sto facendo un mio editor in java, dove, ho un problema con del codice, vorrei creare la funzione, trova e sostituisci, per ora sto facendo la funzione che trova il testo desiderato, trova la prima occorrenza trovata del testo, e le occorrenze successive, il codice è questo:
Codice sorgente - presumibilmente Delphi
String originText = textPane.getText();
String findWord = wfind.getText();
if(index !=-1){
index = originText.indexOf(findWord, index + findWord.length());
textPane.select(index, index + findWord.length());
}
Questo codice lo eseguo alla pressione di un tasto, e come potete vedere mi trova il testo nell'oggetto textPane ( un JTextPane ), ora, il problema è che, quando, nella JTextPane scrivo:
ciao ciao
la prima volta che eseguo il codice mi sottolinea il primo ciao ( a partire dal caratteri all'indice 0 fino alla fine della frase, poi se, premo di nuovo il pulsante mi sottolinea il secondo ciao, come in effetti vorrei io, e fin qui e tutto ok, il problema è quando li faccio trovare una parola collocata in un'altra riga, mi funziona bene solo per la prima riga, cioè, se ad esempio, nella seconda riga, io ho la stringa come va e la vorrei trovare, utilizzando il codice qui sopra, mi sottolinea ome va, insomma mi sottolinea in modo errato, questo mi succede a partire dalla seconda riga in poi.
Ho pensato, facendo stampare i numeri di indice sottolineati, ché forse mi considerava il carattere a capo.
Detto questo ho pensato di levare dalla testo preso il caratteri a capo, ma non saprei, e se l'utente immette manualmente quel carattere nel testo? ho pensato anche di compiere la ricerca riga per riga, ma non saprei, ecco perché scrivo qui.
Come potrei risolvere, mi conviene fare eseguire la ricerca su ogni riga o c'è un altro metodo per risolvere il mio problema?
Sembra strano che sottolinei solo a partire dal secondo carattere... scusa se te lo chiedo ma non ho capito se il problema sta nel sistema di sottolineatura o nel trovare a che carattere inizia la sotto stringa trovata. Nel secondo caso la soluzione sembra facile, ma facci sapere
Il problema sta nella sottolineatura, cioè, dalla seconda riga in poi mi inizia a sottolineare in modo sbagliato, ho provato lo stesso codice in un mio esempio, ora purtroppo sono su un'altro sistema, ma appena posso posto l'altro codice di prova che ho fatto.
EDIT:
Ecco il codice di esempio che avevo fatto, ho provato a modificare il codice ma niente: