Philipp Grashoff: Zeilenumbruch in String?

Hi Forum,

Ich habe ein eigentlich lächerliches Problem, habe aber in den 3 Javabuechern, die auf meine HDD lagern keine Antwort gefunden... nun, ich will Zeilenumbrueche in eine Zeichenkette schreiben!
Leider geht es weder mit + \r\n noch mit + "\r\n" .... kann mir jemand sagen, wie es in Java geht?
Ich will den String danach in ein Label ausgeben...

MFG

Philipp

  1. Hallo,

    Ich will den String danach in ein Label ausgeben...

    So lächerlich ist das Problem gar nicht. Mit java.awt.Label geht
    das nämlich überhaupt nicht. Du kannst zwar Umbrüche in den String,
    den du später dem Label übergibst, einfügen. Jedoch werden diese nicht
    interpretiert.
    Man kommt aber über einen Trick ans Ziel, nämlich über HTML. Die meisten
    Swing-Komponenten können statt einem einfachen String auch HTML
    interpretieren. Dazu umschließt du den Text einfach in die normalen
    <HTML>-Tags. Also z.B. so:
      meinLabel.setText("<html>Das hier ist jetzt <b>fett</b>.</html>");
    Entsprechend funktioniert das mit <br>, was du ja brauchst.

    Momentan verwendest du die Label-Komponente aus java.awt. Du müßtest
    jetzt überall wo bisher Label verwednet wird, JLabel verwenden. Du
    findest JLabel im Package javax.swing. (Also komplett:
    javax.swing.JLabel)
    Ansonsten ändert sich am Programmcode nichts.

    Beachte aber, daß die Formatierung des anzuzeigenden Textes
    vollständig über HTML-Tags läuft. Ein setForeground(Color) wird z.B.
    nicht mehr interpretiert.
    Du müßtest dann schon mit dem <font>-Tag arbeiten. (Ob Java mit dem
    style-Attribut zurecht kommt, bezweifle ich jetzt einfach mal.)

    Gruß
    Slyh