# Text in for Schleife in Label einfügen



## Schaaaf (10. Feb 2012)

Hallo,

ich habe ein JLabel:


```
for (int i = 0; i < Names.splitNames.length; i++){
String name = Names.splitNames[i];
VarNamesLabel = new JLabel(name);
VarNamesLabel.setPreferredSize( new java.awt.Dimension(200, 20));
}
```

Es sollen nacheinander alle Namen (als Art Liste, untereinander) in das Label eingefügt werden. Zur Zeit wird nur der letzte Name eingefügt. 

Was muss ich da noch ändern?


----------



## Fab1 (10. Feb 2012)

Ein Zeilenumbruch in einem JLabel ist glaube ich nur mit HTML möglich ähnlich wie hier:


```
deinlabel.setText("<html><body>Textzeile1<br>Textzeile2</body></html>")
```

also entweder bastelst du dir so einen String zusammen.

Oder du nimmst ein JTextArea (Java 2 Platform SE v1.4.2), was ich leichter finde.

Hier könntest du mit append() Wörter anhängen. Und mit \n macht man einen Zeilenumbruch.


Ich würde deine Schleife nochmal etwas überdenken. Der ein oder andere Befehl der in der Schleife ist, ist, ist dort unnötig.


----------



## Schaaaf (10. Feb 2012)

```
for (int i = 0; i < Names.splitNames.length; i++){
String name = Names.splitNames[i];
VarNamesLabel = new JLabel(name);
VarNamesLabel.setPreferredSize( new java.awt.Dimension(200, 20));
}
```

geändert zu

```
for (int i = 0; i < Names.splitNames.length; i++){
VarNamesLabel = new JTextArea(Names.splitNames[i];);
VarNamesLabel.setPreferredSize( new java.awt.Dimension(200, 20));
}
```

Nun habe ich mittels 


```
VarNamesArea.setFocusable(false);
```

zumindestens das dauernde Blinken schon unterbunden, aber wie verhindere ich Eingaben des Benutzers?

PS: Habs gefunden :


```
VarNamesArea.setEditable(false);
```

Dank dir


----------



## Fab1 (10. Feb 2012)

Warum möchtest du bei jedem Schleifendurchlauf ein neues JTextArea erstellen?

In der Schleife sollte nur der Text *eines* JTextAreas verändert werden.


----------



## Schaaaf (11. Feb 2012)

Habe ich gemacht. Danke für den Hinweis.


----------

