# Mehrzeiliges JLabel



## Tobias (13. Nov 2007)

Hallo,

ich brauche ein mehrzeiliges JLabel. Google fördert leider nichts brauchbares zutage (nur den Hinweis es mit einem getarnten TextArea zu probieren), so dass ich wohl eine eigene Klasse schreiben muss. Aber wie bekomme ich heraus, welche Größe mir der Parent-Container letzendlich einräumt? Irgendwie muss ich darauf doch reagieren können, damit ich an den richtigen Stellen Zeilenumbrüche in den Text einpflegen kann?

mpG
Tobias


----------



## thE_29 (13. Nov 2007)

Wahnsinn das man es schafft eine der meistgestelltesten Fragen trotz google nicht zu finden!

http://www.google.at/search?hl=de&q=mehrzeiliges+jlabel&btnG=Google-Suche&meta=

Zb hier der 2(3te) Link und da hat man schon ne Antwort
http://forum.chip.de/java-delphi-pascal/jlabel-fuer-mehrzeiligen-text-744593.html


Oder auch hier im board: http://www.java-forum.org/de/suche=mehrzeiliges jlabel

Nach was sucht ihr eigentlich immer? Bzw klickt ihr die Resultate an auch oder wartet ihr das euch das richtige in Gesicht springt und beißt?


----------



## SlaterB (13. Nov 2007)

Wanhsinn, wie schlecht jemand die Frage lesen kann 

es geht nicht um die Vorgabe der Zeilenumbrüche,
sondern um ein dynamisches JLabel, welches sich an den ihm gegebenen Platz anpasst, indem es automatisch umbrícht


----------



## thE_29 (13. Nov 2007)

Oho, dann kann ich nur auf das verweisen: http://www.lugbz.org/documents/smart-questions_de.html

Nimm nen Threadtitel der auch passt!
Mehrzeiliges JLabel ist das was es auch ist! Er würde ein dynamisch mehrzeiliges JLabel brauchen :bae:

Desweiteren passen meine Antworten auch! Er muss es via html machen (was er auch net wusste)

Problem bei der dynamischen Anpassung ist, das er die paintComponent Methode überschreiben muss, 
dann holt er sich vom Graphics Objekt die FontMetrics, übergibt den String und holt sich die Breite! Dann 
guckt er nach ob die Breite OK ist oder nicht! Falls nicht via html ein Zeilenumbruch und das ganze geht weiter 
von vorne los, bis der ganze Text abgearbeitet wurde 

Ich würde da aber eine JTextArea nehmen und du so umbauen, das es aussieht wie ein JLabel, da das ja schon den Umbruch kann


----------



## Tobias (13. Nov 2007)

Das ich HTML nutzen muss war mir durchaus klar, sonst hätte ich wohl gefragt, wie ich einen Zeilenumbruch bekommen kann. Woher ich das FontMetrics-Objekt und die letztendliche Größe her bekomme, wußte ich nicht.

Dank deiner zweiten Antwort, weiß ich das jetzt.

Danke.

mpG
Tobias


----------



## Marco13 (13. Nov 2007)

Falls du auch weißt, WIE du die paintComponent überschreiben musst, sag' bescheid.

Jedenfalls wird das Label, das du dann erstellst, wohl nicht umbrechen (können) wenn es z.B. schon von vornherein HTML-Text enthält...


----------



## Tobias (13. Nov 2007)

Dieser Fall ist bei mir ausgeschlossen. Aber warum sollte das dann nicht funktionieren? Weil die HTML-Tags die berechnete Breite verfälschen?

mpG
Tobias


----------



## thE_29 (14. Nov 2007)

Naja, du musst dir den Text 2mal merken!
Einmal immer den original Text und einmal halt den umgebrochenen!


----------

