[erledigt] Bestimmte Zeile aus JTextArea löschen

mayewski

Mitglied
Guten Abend 🙂

Ich habe da eine kleine Frage zu einer JTextArea.

Mit folgendem Code lese ich den Text aus der JTextArea aus.

Java:
BufferedReader br = new BufferedReader(new StringReader(textArea.getText()));
String line = null;
while (true)
{
    line = br.readLine();
    if (line == null) break;
    verarbeiteIrgendwie(line);
}

Nun möchte schauen, ob eine Zeile das Wort "Beispiel" enthält.
Wenn ja, möchte ich diese Zeile löschen.

Kann mir jemand helfen, wie ich eine Zeile aus der JTextArea löschen kann?

Schonmal vielen Dank
 
Zuletzt bearbeitet:
Moin,

schau Dir mal die Klasse "Document" an ....

Beispiel:
Java:
TextArea.setDocument( new LimitedPlainDocument(10000) );
TextArea.getDocument().addDocumentListener( new DocumentListener() )
{
     ...
}

Gruß
Klaus
 
Wie soll diese Funktionalität denn eingebetten sein? Soll sie durch irgendeine Aktion ausgelöst werden und auf den bestehenden Text angewendet werden? Oder soll es irgendwie während der Eingabe im Textbereich geschehen (...das fände ich eher komisch).

Wenn Ersteres gewünscht ist, bist du schon ziemlich auf dem richtigen weg:
- Text zeilenweise lesen
- Wenn Zeile NICHT "Beispiel" enthält wird sie in einen temporären Text übernommen​
- Inhalt der TextPane auf den temporären Text setzen

So in etwa:
Java:
BufferedReader br = new BufferedReader(new StringReader(textArea.getText()));
String line = null;
StringBuilder newText = new StringBuilder();
while ( (line = br.readLine()) != null )
{
    if ( ! line.contains("Beispiel"))
    {
        newText.append(line);
    }
}
textArea.setText(newText.toString());
 

Zurück
Oben