# Zeilenumbruch in einem JLabel



## chik (3. Mai 2009)

Hallo,
ich habe folgendes Problemchen. ich möchte ein lanel erzeugen:

JLabel label= new JLabel("hallo, das ist ein test ob das auch alles so funktioiert...");

gibt es eine Möglichkeit in meinem text einen Zeilenumbruch zu machen? habe es mit \n probiert. das klappt aber nicht...

dann hätte ich noch eine weitere frage. und zwar: wie mache ich ein textfeld das schon blau markiert ist, und der user gleich weiss wo er seinen text eingeben soll... und wie lösche ich die eingabe eines textfeldes? gibt es einen clear befehl oder so was ähnliches?


----------



## Chumax (3. Mai 2009)

löschen kannste mit feld.setText("");


----------



## chik (3. Mai 2009)

ja das habe ich schon rausgefunden.. doch wie markiere ich den vorgegebenen text in einem textfeld, so dass dieser sofer überschrieben werden kann?


----------



## Stoggy (3. Mai 2009)

Hallo Chumax,

ein JLabel kann normalerweise keine Zeilenümbrüche. Aber es versteht HTML.
D.h. kannst du folgenden Code verwenden um einen Zeilenumbruch zu erreichen:


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

Zu deiner zweiten Frage:
Damit dein User direkt mit der Eingabe beginnen kann, ohne das Textfeld vorher auszuwählen, kannst du mit der requestFocus Methode arbeiten.

```
deinTextfeld.requestFocus()
```

Und leeren des Textfeldes geht entweder mit

```
deinTextfeld.setText("")
```
 (wie mein Vorredner schon beschrieben hat) oder mit

```
deinTextfeld.setText(null)
```
.

Unterschied ist, dass bei Möglichkeit 1 ein leerer String im Speicher steht und bei Möglichkeit 2 NULL, also sozusagen nichts.

Gruß Stoggy


----------



## Stoggy (3. Mai 2009)

Gerade hab ich deinen letzten Post gesehen. daher hier noch ein Nachtrag...



chik hat gesagt.:


> ja das habe ich schon rausgefunden.. doch wie markiere ich den vorgegebenen text in einem textfeld, so dass dieser sofer überschrieben werden kann?




Das geht mit der selectAll Methode. Danach einen requestFocus auf das Feld.

Gruß Stoggy


----------



## chik (3. Mai 2009)

Stoggy hat gesagt.:


> Gerade hab ich deinen letzten Post gesehen. daher hier noch ein Nachtrag...
> 
> 
> 
> ...



danke. könntest du mir dafür ein kurzes beislpiel geben?


----------



## Stoggy (3. Mai 2009)

Hmm... ein kurzes Beispiel. Soviel gibts da eigentlich nicht zu erklären.


```
private void markiereundsetzefocus()
{
deinTextfeld.selectAll();
deinTextfeld.requestFocus();
}
```

Und jetzt musst du einfach die Methode markiereundsetzefocus() in deinem Programm aufrufen. Entweder nach dem Erstellen des Frames (z.B. in der initComponents Methode)
oder bei Klick auf einen Button. Das bleibt ganz dir überlassen.

Gruß Stoggy


----------

