# JButton transparent bekommen?



## dennisT (26. Jul 2009)

Hi, ich versuche, ein .gif Button mit transparenz darstellen zu lassen.
Ich habe also mit

```
jb_do = new JButton(new ImageIcon("test.gif"));
```
ein transparentes .gif eingefügt. 
Doch wenn ich das Programm starte, ist dort, wo die transparenz sein soll, noch Farbe, wahrscheinlich vom JButton?

Könnt ihr mir helfen?


----------



## Schandro (26. Jul 2009)

Probiers mal hiermit:

```
myButton.setOpaque(false);
		myButton.setBackground(new Color(0,0,0,0));
```


----------



## dennisT (26. Jul 2009)

Danke, hat mir schonmal etwas weitergeholfen. Ging allerdings nur ohne 
	
	
	
	





```
jb_do.setOpaque(false);
```
. 
Einziges Problem wäre jetzt nurnoch der kleine schmale Rand umzu. Kann man den auch wegbekommen?


----------



## Schandro (26. Jul 2009)

setBorder(null);


----------



## dennisT (26. Jul 2009)

Ah, vielen Dank du hast mir wirklich weitergeholfen. Jetzt habe ich aber nurnoch ein kleines Problem. Nach dem ich 

```
jb_do.setBackground(new Color(0,0,0,0));
```
angewand habe, und ich dann auf den transparenten Button klicke, behält der Button die Farbe, als wenn man den Button anklickt. Weiß jemand warum?

Ok, ich habe gelesen, dass man es mit 

```
jb_do.setContentAreaFilled(false);
```
beheben kann, aber wenn das an ist, funtktioniert 
	
	
	
	





```
jb_do.setBackground(new Color(0,0,0,0));
```
nicht mehr?


----------



## dennisT (26. Jul 2009)

Kann mir keiner helfen?
Also der Code sieht nun folgendermaßen aus

```
jb_do = new JButton(icon);
jb_do.setCursor(new Cursor(Cursor.HAND_CURSOR));
jb_do.setBorder(null);
jb_do.setBorderPainted(false);
jb_do.setBackground(new Color(0,0,0,0));
//jb_do.setContentAreaFilled(false);
```
jb_do.setContentAreaFilled(false); kann ich leider nicht mit einbinden, weil sonst setBackground nichtmehr funktioniert.

Im Anhang seht ihr nochmal was ich meine, links das Bild mit dem transparenten Button und rechts, nach dem Buttonklick.


----------

