JTextArea getText

Scorix

Grünschnabel
Hi,
ich brauche eure Hilfe. Mein Problem ist, dass ich gerne aus einer JTextArea eine bestimmte Zeile in ein String speichern möchte. Ich kenn die Erweiterung getText(int i, int j), aber ich weiß nicht, was genau jetzt i oder j ist. Ich bin davon ausgegangen, dass i für die Zeile und j für die Spalte steht, habe also bei j prinzipiell 1 eingetragen, da es keine weiteren Spalten gibt. Leider funktioniert das nicht. Gibt es da andere Wege mit der API die ich nutzen könnte?
 

Scorix

Grünschnabel
Mist, wie kann ich dann eine bestimmte Zeile von dem Area haben? Muss ich dazu den String immer bei \n teilen oder gibt es da ne einfachere Möglichkeit.
 

sheel

I love Asm
Muss ich dazu den String immer bei \n teilen
Ja.
Aus dem Kopf heraus, ungetestet:
Java:
String getLine(TextArea ta, int lnr) {
    String content = ta.getText():
    if(content == null || lnr < 0) return null;
    int start = 0;
    while(lnr >= 0) {
        lnr--;
        start = content.indexOf("\n", start ) + 1;
        if(start <= 0) return null;
    }
    int end = content.indexOf("\n", start ) + 1;
    if(end <= 0) end = content.length();
    return content.substring(start, end);
}
(mit split() gibts kürzeren, aber speicherverschwendenden Code)
 

Neue Beiträge