FlowLayout zum Umburch zwingen

Status
Nicht offen für weitere Antworten.
J

java.jason

Gast
Hallo,

ich habe mir hier ein kleines JFrame gebastelt, in dem ein Text angezeigt werden soll.
Das JFrame hat eine größe von 400,400 und ist nicht resizable.
Jetzt erzeuge ich mir mit folgendem Code ein subPanel, das das FLowLayout verwendet und weise diesem Container
eine bestimmte Größe zu.

Code:
    	JPanel subPanelDialog = new JPanelHelp(Color.BLACK);
    	subPanelDialog.setLayout(new FlowLayout());
    	subPanelDialog.setPreferredSize(new Dimension(20,20));

        subPanel.Dialog.add(new JLabel("Ein ganz langer Text der umbedingt umgebrochen werden sollte, da man Ihn sonst nicht lesen kann!");

Mein Ziel ist jetzt, dass der Text des neu erzeugten JLabels automatisch umgebrochen wird. Leider funktioniert das so nicht. Hat einer eine Lösungsidee?


Viele Grüße
java.jason
 
J

java.jason

Gast
Das ganze klappt auch nicht, wenn ich vorher ein JLabel anlege und dem eine Größe zuweise mit:

JLabel label = new JLabel("Hier der lange Text");
label.setPreferredSize(new Dimension (20,20));
subPanelDialog.add(label);

Jetzt wird der Text zwar gekürzt, aber nicht umgebrochen.
Kann ich einen Umbruch nicht erzwingen?
 
J

java.jason

Gast
Kann es sein, dass er nicht innerhalb eines JLabels Text umbrechen kann, sondern nur wenn ich mehrere Komponenten (mehrere JLabels) übergebe?
Gibt es vielleicht eine Alternative?
 
J

java.jason

Gast
Gibt es echt keine Möglichkeit Text automatisch umbrechen zu lassen? Bin bei meinen Recherchen noch auf die JTextPane gestoßen, aber mein Text muss eigentlich nur angezeigt werden und nicht editierbar sein.
Wie löst ihr so ein Problem denn?

Grüße java.jason
 
J

java.jason

Gast
Hallo Wildcard,

wie? Ich kann in einer normalen Java Application html benutzen? Gibt es da vielleicht irgendwo ein Tutorial zu? Brauche ja wirklich nur einen Textumbruch.

Danke für deine Hilfe java.jason
 

Wildcard

Top Contributor
Die meisten JComponents können rudimentär mit html formatiert werden. Ein JLabel ist eigentlich per definition einzeilig. Durch das <html> Tag am Anfang des Texts wird jedoch ein spezieller Renderer gesetzt, der dafür sorgen wird das dein Text vernünftig umgebrochen wird.
 
J

java.jason

Gast
Hmm... das heißt ein mehrzeiliges Label = schlechter Code? Braucht denn nie jemand mehrzeiligen nicht editierbaren Text für seine Projekte? Merkwürdige Geschichte!
 

Wildcard

Top Contributor
Auch ich verwende mit unter mehrzeilige Labels. Ausgelegt sind sie aber auf eine Zeile (so steht es auch in der Java-Doc) .
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben