Swing JTextArea - Multi-Line-Editing

aik

Neues Mitglied
Ahoi!

Ich versuche gerade als Teil eines Editors eine Multiline-Editier-Funktion hinzubekommen.
Das heißt wenn ich in einer Zeile etwas am Text verändere, soll die gleiche Änderung auch in allen Anderen Zeilen an der gleichen Cursorpostion stattfinden.

Seit Stunden versuche ich jetzt schon die verschiedensten Listener etc. - aber es wollen mir keine Ideen zur Umstzung kommen.
Bin für jeden Hinweis und jede Idee dankbar (sehr gerne auch eventuell vorhandene Beispiele).

Java:
public class MultiLineEditorPane extends JFrame implements SOMEListener{
    /**
     * Text der bearbeitet werden soll.
     */
    private final String multiLineEditText;
    
    /**
     * Konstruktor.
     */
    public MultiLineEditorPane(String multiLineEditText){
        this.multiLineEditText = multiLineEditText;
        this.setTitle("MultiLine Editor");
    
        JTextArea mlTextArea = new JTextArea(this.multiLineEditText);
        
        mlTextArea.getDocument().addSOMEListener(this);
               
        JScrollPane scrollPane = new JScrollPane(mlTextArea);
        
        this.add(scrollPane);
        this.pack();
        this.setVisible(true);
    }}

...ich weiß, man sieht noch nichts von der Funktionalität... die letzten Stunden nur nutzloses fabriziert 😳
 
Zuletzt bearbeitet:
Ist das kompilierbar? [JAPI]javax.swing.JTextArea[/JAPI] scheint jedenfalls nicht die Klasse aus deinem Schnipsel zu sein.

Viel kann ich gerade auch nicht dazu sagen. Könntest mal schauen, wie es in NetBeans gemacht wird. Das war die Änderung, die diese Funktionalität ("rectangular selection") hinzugefügt hat: main-golden: changeset 200517:503259537655
 
Danke fürs Raussuchen der Netbeanseinführung des Features - ist mir aber zu umfangreich/unübersichtlich - außerdem wird dort vermutlich nicht JTextArea verwendet.

Der Codeschnipsel ist tatsächlich nur der Rahmen... und nicht wirklich aussagekräftig (kann den Artikel jetzt aber nicht mehr editieren).

Mir würde es aber - im Gegensatz zur umfangreichen Netbeanslösung mit Rahmen ziehen - reichen, wenn jede Zeile der JTextArea geändert wird.
(Der markierte Ausschnitt aus dem ganzen Text wird bei mir in einem neuen Fenster bearbeitet)
 

Neue Themen


Zurück
Oben