Witam serdecznie! Jestem tu nowy i ogólnie Javy uczę się od dwóch tygodni. Postanowiłem założyć tutaj konto, ponieważ od wczoraj myślę jak rozwiązać problem z moim programem i chyba będę musiał poprosić o pomoc osoby, które mają już pewne doświadczenie.
A mianowicie... Chciałbym dodać do aplikacji notatnika funkcję wyszukiwania danej frazy. Po części mi się to udało, ponieważ wyszukiwana jest i zakreślana dana fraza, ale tylko, jeśli zapisana ona jest w jednej linijce. W załączniku nr.1 pokazane jest co mam na myśli.
Problem zaczyna się, gdy mam tekst z enterami(nowymi linijkami). Nagle nie wiedzieć czemu program źle wyszukuje - a raczej zaczyna przesuwać sobie w prawo zakreślenie.
W czym jest tutaj błąd? Bardzo proszę o pomoc w rozwiązaniu problemu :).
String fraza = tfFraza.getText(); //to wyszukujemy i pobieramy z JTextField tfFraza
fraza.toLowerCase();
String tekst = notatnik.getText(); //to jest nasz tekst pobrany z JTextPane, tego głównego
tekst.toLowerCase();
try
{
Highlighter podswietl = notatnik.getHighlighter();
StyledDocument doc = (StyledDocument) notatnik.getDocument();
DefaultHighlighter.DefaultHighlightPainter hp = new DefaultHighlighter.DefaultHighlightPainter(Color.RED);
int index = tekst.indexOf(fraza);
while(index >= 0)
{
lista.add(index);
podswietl.addHighlight(index, index+fraza.length(), hp);
index = tekst.indexOf(fraza,index+1);
}
}
catch(Exception e1)
{
e1.printStackTrace();
}