# Neue Zeile im JLabel anfangen ohne html



## big_boom_bang (19. April 2006)

Hi also ich habe folgendes Problem: Ich arbeite gerade an einem Chat Programm und möchte das alles was geschrieben wird und somit auf dem JLabel angezeigt werden soll in einer einzelnen zeile bzw bei längeren Texten als eine Zeile ein zeilenumbruch entsteht. Mi der  Suchfunktion bin ich nur teilweise fündig geworden.
Dort wurde immer html benutz oder derAutomatische zeilenumbruch der JTextArea.
Da aber in den Verlauf nichts geschrieben werden sollte wollte ich halt ein JLabel vewenden.Also wie geht das am einfachsten eine neue Zeile ohne html anzufangen und einen automatischen Zeilenumbruch im JLabel zu realisieren.
MFG bigboombang


----------



## flashray (19. April 2006)

Hallo,



			
				big_boom_bang hat gesagt.:
			
		

> Da aber in den Verlauf nichts geschrieben werden sollte wollte ich halt ein JLabel vewenden.
> MFG bigboombang



Was meinst du mit "in den Verlauf nichts geschrieben werden soll"?


Vg Erdal


----------



## flashray (19. April 2006)

Ohne HTML wird es schwierig werden, da müsstest du dann einige Funktionen des JLabels überschreiben, da meines Wissens ein JLabel ein automatisches umbrechen nicht unterstüzt.

Du hast drei alternativen:
1.
Du nimmst ein JTextArea: Probier doch einfach mal das zweite Beispiel WrappedLabelExample mit der Inneren Klasse WrappedLabel:
http://www.tutorials.de/forum/swing-awt-swt/241177-jlabel-mit-mehreren-zeilen.html

2.
Oder du nimmst HTML. Was steht den eigentlich dagegen, dass du kein HTML verwenden möchtest?

3.
Oder du nimmst ein fertiges Workaround. Es gibt im Web diesbezüglich ein paar Ansätze. Suche  einfach mal nach multiplelines jlabel oder multiline JLabel.


Vg Erdal


----------



## big_boom_bang (20. April 2006)

Hi also mit "Verlauf" meinte ich das wo der Geschriebene Texdt nacher unveränderbar steht bei einer Text Area kann ich aber den geschriebenen Text löschen. zwar kann dieser in einen String gespeichert werden und bei jeder Änderung neu in die TextArea geschrieben werden oder kann ich die TextArea sozusagen auf "unveränderbar " stelen also das nur das Programm den Text ändern kann?
MFG bigboombang


----------



## flashray (20. April 2006)

Hallo BigBoomBang,

probier das mal hier mal aus, das müsste deinen Wünschen genügen.


```
import java.awt.FlowLayout;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;

public class WrappedLabelExample extends JFrame {
	WrappedLabel l1 = new WrappedLabel("Dies ist ein umgebrochener Satz.");

	WrappedLabel l2 = new WrappedLabel(
			"Dies ist ein umgebrochener Satz. Dies ist ein umgebrochener Satz.");

	WrappedLabel l3 = new WrappedLabel(
			"Dies ist ein umgebrochener Satz. Dies ist ein umgebrochener Satz. Dies ist ein umgebrochener Satz.");

	public WrappedLabelExample() {
		super("WrappedLabel");
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		this.setSize(300, 400);
		this.setLayout(new FlowLayout());

		this.add(l1);
		this.add(l2);
		this.add(l3);
	}

	public static void main(String[] args) {
		new WrappedLabelExample().setVisible(true);
	}

	class WrappedLabel extends JTextArea {
		JLabel label = new JLabel();

		public WrappedLabel(String text) {
			super(text);
			this.setEditable(false);
			this.setLineWrap(true);
			this.setWrapStyleWord(true);
			this.setFont(label.getFont());
			this.setOpaque(false);
		}
	}
}
```


Vg Erdal


----------

