# JPanel(bzw.) Panels transparent machen



## lowterm (10. Okt 2007)

Hi,

ich schreibe gerade ein Applet und suche eine Möglichkeit meine JPanel(bzw.) Panels transparent zu machen.
Leider keine der Beispiele, dei ich finden konnte funktionierte. Hat jemand Erfahrung in dem Bereich? Für
jede Hilfe bin ich dankbar. (Das mit setOpaque(false) funktioniert auch nicht) 


Gruß


----------



## The_S (11. Okt 2007)

Was verstehst du unter transparent? Was willst du sichtbar machen? Den darunter liegenden Container, oder die dahinter liegende Website?


----------



## lowterm (11. Okt 2007)

Hi,

Den darunter liegenden Container. Das heißt: ich habe ein JPnel, der Huntergrund ist bei mir
als default weiß, dann kommt ein Bild darüber, das teilweise Transparent ist. Ja jetzt sieht man 
hier die weisse Frabe vom JPanel überall, statt den darunterligenden Hindergrung.

Gruß


----------



## The_S (12. Okt 2007)

Kann dein Prob net so nachvollziehen.


```
import javax.swing.*;
import java.awt.*;

public class Test {

	public static void main(String[] args) {
		
		JFrame frame = new JFrame();
		JPanel down = new JPanel();
		down.setBackground(new Color(255, 0, 0));
		JPanel trans = new JPanel();
		trans.setBackground(new Color(0, 255, 0));
		trans.setOpaque(false);
		JPanel notT = new JPanel();
		notT.setBackground(new Color(0, 255, 0));
		notT.setOpaque(true);
		frame.setContentPane(down);
		down.setLayout(new BorderLayout());
		down.add(trans);
		down.add(notT, BorderLayout.EAST);
		notT.setPreferredSize(new Dimension(200, 200));
		frame.setVisible(true);
	}
    
    
}
```

Funktioniert ohne Probleme


----------



## lowterm (12. Okt 2007)

Hi,

sorry. Ich habe versucht mein Problem so detailliert wie möglich zu 
schildern. Also erst mal es handelt sich um JFrame oder Frame, sondern
um ein Applet. Das heißt, es läuft alles etwas anders als wenn man ein
JFrame(extends JFrame) vor sich hat. Wie schon erwähnt, wenn in einem
Applet ein JPanel(oder Panel) definiert, bekommt man ein vier eckiges
Ding mit weißem Hintergrund und wenn z.B. dein eigentlicher Hintergrund
rot ist, dann siehst du dieses deutlich. Wenn du aber JPanel auf 
Transparent setzt, siehst du die wisse Farbe nicht mehr und nur rot.
Genauso wenn du nur einen Rahmen ohne Ihnhalt hättest. Und wenn du
jetzt ein Bild, das nicht viereckig ist, sondern meinetwegen kreisförmig,
in das Panel einfügst soll nur der Kreis zu sehen sein und nicht der
Kreis und die weisse Farbe vom JPanel im Hintergrund.

Gruß


----------



## The_S (12. Okt 2007)

Ob du jetzt ein JFrame oder ein JApplet nimmst ist bumpel, aber so wie es scheint, willst du wohl etwas zeichnen und alles bis auf die Zeichnung transparent machen!?

Poste doch mal ein kleines, ausführbares Beispiel, welches dein Problem demonstriert. Ich denke das Hilft allen am Besten zu verstehen, was du meinst, ich hab nämlich nach der Beschreibung keinen blassen schimmer  .


----------



## Quaxli (12. Okt 2007)

Geht mir auch so.


----------



## lacanausurfer (22. Sep 2008)

Benutz ein JLabel, das hat einen transparenten Hintergrund!

Also das Hintergrundbild mit setIcon in den JPanel und dann das transparente Bild mit setIcon auf ein JLabel, dass Du an die gleiche Position im GUI zeichnest wie das JPanel.
Beim transparenten Bild muss man vorher mit z.B. IrfanView die Farbe markiert haben, die transparent sein soll.


----------

