# Transparenter Hintergrund von Panels



## TSlaughter (22. Jan 2004)

Moin

Ich möchte in meinem Applet ein Panel einbauen, welches eine weiße Hintergrundfarbe hat.
Allerdings soll dieser Hintergrund dazu noch transparent sein. 
Wie kann ich dies bei einem Panel realisieren????


MFG TSlaughter


----------



## Bomber (28. Apr 2004)

Die selbe Frage brennt auch mir unter den Fingern! Hoffe das kann jemand beantworten!


----------



## Grizzly (28. Apr 2004)

Mit einem Panel geht das - soviel ich weiss - nicht. Bei einem JPanel kann man die "Transparenz" mit *setOpaque*(boolean isOpaque) einstellen.

Allerdings setzt das dann voraus, dass auf dem Rechner, auf dem später das Applet laufen soll, Swing sprich ein aktuelle JRE installiert ist.


----------



## L-ectron-X (28. Apr 2004)

Mit setOpaque() kannst Du nur einstellen, ob das JPanel transparent ist oder nicht.
Wie ich TSlaughter verstanden habe, will er nur ein teilweise transparentes Panel programmieren.
Es geht hier wohl um Alpha-Transparenz. Also so etwas ähnliches wie ein Wasserzeichen, oder?


----------



## TSlaughter (28. Apr 2004)

Moin

Ja ich meine Teiltransparents ! Nur wie funktioniert das mit diesen Alpha Werten??


----------



## Guest (28. Apr 2004)

Ich weiß nicht, aber ich glaube nicht, dass man ein Panel teilweise transparent machen kann.
Aber Grafiken schon. Dazu benutzt man u.a. die Klasse java.awt.Graphics2D.


----------



## Grizzly (29. Apr 2004)

Kann man das vielleicht mit einem entsprechenden Color-Objekt machen, das man per

*Color*(int r, int g, int b, int a)

inklusive Alpha-Kanal (der ja bekanntlich für die Transparenz zuständig ist) erstellt und als Hintergrundfarbe setzt? ???:L


----------



## L-ectron-X (29. Apr 2004)

Na gut, hier ein Denkanstoß:

```
public void zeichnen(Graphics2D g, Component c) {
   //Hintergrund in Größe des Bildes einfärben
   g.setPaint(newColor(150, 150, 150));
   g.fillRect(0, 0, dasBild.getWidth(), dasBild.getHeight());

   //Originalbild zeichnen
   g.drawImage(dasBild, 0, 0, c);

   //Farben zu 50% mit Bild mischen, neu zeichnen
   g.setComposite(AlphaComposite.getInstance(AlphaComposite.SCR_OVER, 0.5));
   g.drawImage(dasBild, 0, 0, c);
}
```
Ein Ergebnis würde mich mal interessieren

L-ectron-X


----------



## bygones (29. Apr 2004)

schau mal hier http://www.brackeen.com/javagamebook/ch03src.zip
da wird mit trasparenzen gearbeitet....

der ansatz von L-ectron-X ist richtig (soweit ich es sehen kann)


----------



## TSlaughter (2. Mai 2004)

ich probier das mal aus ....


----------

