# JLabel + Text + Bilder



## Gast (2. Okt 2007)

Hi ich habe verschiedene Panels,

diese erzeugen sich aus Buttons, Labels usw...

Es gibt für jedes Panel, ein Hintergrundbild. Nun soll auf dieses ein weites Bild folgen.
Will es aber nicht über die paint(); erzeugen...dann lande ich wieder da wo ich früher war.

Kann ich Labels für Images und veränderbaren Text benutzen??



```
JLabel text=new JLabel(new ImageIcon("texture/buttons/blau.gif"));
	        text.setOpaque(false);
		text.setText("Eine lange lange Story");
		text.setLocation(20,100);
		text.setSize(100, 200);
		ip.add(text);
```

Also auf das Hintergrundbild, soll noch ein Bild drauf gelegt werden. Welches Text hat, der sich halt dynamisch ändert.

Bei meinen Quelltext, zeichnet er nur die blau Texture nicht die Schrift.


----------



## Ivan (2. Okt 2007)

Warum versuchst du es nicht einfach über den Konstruktor.... habs nicht getestet und kann mir gerade auch nicht erklären warum es nicht funktioniert aber ich würde es einfach versuchen

```
new JLabel(text,icon,alignment);
```
 <--- http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JLabel.html 
Wie gesagt ein Versuch ist es wert.

Ciao
der Don


----------



## Gast (2. Okt 2007)

```
JLabel textgrafik=new JLabel("Samurai",new ImageIcon("texture/buttons/blau.gif"),0);
```

nö...geht auch nicht :/ habe schon probiert 2Labels übereinander zu legen, erfolglos


----------



## Guest (2. Okt 2007)

Merkwürdig ich ab es gerade ausprobiert und bei mir Funktioniert das......... tja sorry kann ich nicht weiterhelfen.


----------



## Guest (2. Okt 2007)

Es hat bei diese Zeile, bei dir wirklich das Bild und dannach die Schrift hinzugefügt? Es will einfach nicht  gibts da nicht ne alternative bei Labels?


----------



## L-ectron-X (2. Okt 2007)

Was geht nicht? Warum geht es nicht. Poste mal die Fehlermeldung! Sonst kann dir keiner helfen. :roll:


----------



## Gast (2. Okt 2007)

Es kommt kein Fehler, es funktuiniert so nicht...auf das Blaue Feld kommt einfach nicht die Schrift "Samurai".


```
JLabel textgrafik=new JLabel();
		textgrafik.setIcon(new ImageIcon("texture/buttons/blau.gif"));
		textgrafik.setForeground(Color.WHITE);
		textgrafik.setText("Samurai");
		textgrafik.setAlignmentX(JLabel.CENTER);
		textgrafik.setLocation(20,100);
		textgrafik.setSize(100, 200);
```


----------



## L-ectron-X (2. Okt 2007)

Ich nehme an, dass der Text noch rechts neben der Grafik steht.
Du kannst ihn über die Grafik schieben, indem du der setIconTextGap()-Methode aus JLabel einen negativen Wert übergibst.


----------



## Mr. P (2. Okt 2007)

wenn du der jFrame das absoluteLayout gibst kannst du auch 2 labels übereinender schieben


----------



## Gast (21. Okt 2007)

Mr. P: Ich kann schon mal kein "absoluteLayout" in der JavaDoc finden.. wie heißt die Klasse denn genau?

mfg MB


----------



## Mr. P (4. Nov 2007)

das layout heiß ganz genau "Absolute Layout"
aber du kannst auch das null Layout verwenden! 
also einfach bei der erstellun der frameForm (sofern du eine fram verwendest) diesen code einbauen:

```
getContentPane().setLayout(null);
```


----------

