Transparenter Hintergrund

SirWayne

Erfahrenes Mitglied
Hallo,

weiß jemand wie man sowas hinbekommt:
https://substance.dev.java.net/images/apps/fullsize/deskzilla003.png

also ich habe ein halbdurchsichtiges bild gemalt das funktioniert, doch nun kann ich keine andere Komponenten mehr darüber legen...

Code:
public class Test extends JFrame
{
	
	public Test()
	{
		super("Frame mit Hintergrund");
        setSize(500,500);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
        new MeinHintergrund(this);//Hier wird der Hintergrund vom frame gesetzt
        add(new JFileChooser(),BorderLayout.CENTER);
        validate();


	}
    public class MeinHintergrund extends JComponent{
        
        private final float OPACITY = 0.4f;
        private final Integer BACKGROUND_LAYER = new Integer(JLayeredPane.FRAME_CONTENT_LAYER.intValue() + 1);
        private Image img=new ImageIcon("icon1.png").getImage();
	
        
    	
    	public MeinHintergrund(final JFrame frame){
            setOpaque(false);
            setBounds(0,0,500,500);
            frame.getLayeredPane().add(this, BACKGROUND_LAYER, 0);
        }
        public void paintComponent(final Graphics g){
            super.paintComponent(g);
            Graphics2D graphics2D = (Graphics2D) g;
            graphics2D.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, OPACITY));
            graphics2D.drawImage(img,0,0,500,500,null);
        }
  
    }
    
    public static void main(String[] args) {
		new Test();
	}


}

sagen wir ich möchte jetzt noch ein Panel in Norden legen welches Komponenten besitzt die nicht den hintergrund deiese bild haben sollen(so wie indem Bild oben die Comboboxen) dann weiß ich nicht wie...
mfg
 
Zurück