# JLabel Farbe/Bild ändern aus MouseListener heraus



## Panikmeister (18. Mrz 2011)

Hallöchen,

ich hab ein Spielfeld, dessen Felder JLabel sind. 

Jedes dieser Felder hat nen MouseListener, so dass bei jedem Klick auf eines der Felder EIGENTLICH Farbe verändert oder besser noch ein Bild auf das Label kommt.

Klappt nur leider nicht 

setFore/Background hat keinen Effekt und sowas wie setIcon kann man nicht anwenden.

Das ist der Listener:


```
package listeners;

import gui.MainFrame;

import javax.swing.ImageIcon;
import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JComponent;



public class FeldListener implements MouseListener {
    
    
    
    @Override
    public void mouseClicked(MouseEvent event) {
       System.out.println("Hallo");
       Component bernd = event.getComponent();
```

mit bernd hab ich schon allerlei probiert, ohne Erfolg...

edit: System.out.println("Blabla") oder .setEnabled(false) funktioniert, von daher ist der Listener richtig gesetzt.


----------



## Dit_ (18. Mrz 2011)

Probier mal das.

```
@Override
	public void mouseClicked(MouseEvent e) {
		JLabel label = (JLabel)e.getSource();
		label.setText(System.currentTimeMillis()+"");
		
	}
```


----------



## xehpuk (18. Mrz 2011)

Nach dem Erstellen der JLabels musst du im Anschluss 
	
	
	
	





```
setOpaque(true);
```
 auf sie aufrufen.


----------



## Panikmeister (18. Mrz 2011)

Dit_ hat gesagt.:


> Probier mal das.
> 
> ```
> @Override
> ...



Ans casten hatte ich auch immer gedacht, nur hab ich den cast-tag auf die linke seite gesetzt und da kamen nur Fehlermeldungen ;-)

THX !


----------

