Transparenter JPanel

Status
Nicht offen für weitere Antworten.
Danke ^^ Und kann ich das JPanel auch nur Halbtransparent machen?? Das wäre optimal!!

Dann müssen wir die Methode paintComponent(..) überschreiben und den Hintergrund mit einer halbdurchsichtigen Farbe malen. Beispiel:
Java:
panel = new JPanel() {

    /*
     *  The panel is transparent but we want to paint the background
     *  to give it a semi transparent look.
     */
    @Override
    protected void paintComponent(Graphics g) {
        g.setColor(getBackground());
        g.fillRect(0, 0, getSize().width, getSize().height);
    }
};
panel.setOpaque(false);
// set a semi transparent background Color:
panel.setBackground(new Color(0, 0, 255, 100));
Anmerkung:
Mit [c]panel.setOpaque(true)[/c] wäre [c]panel.setBackground(new Color(0, 0, 255, 100))[/c] ungültig, weil wir dann einen Hintergrund mit einem Alpha-Wert festgelegt haben, was eine (halb)durchsichtige Farbe ergibt. In diesem Fall werden wir in der Regel visuelle Verunrenigungen im Hintergrund des Panels sehen. Bei (halb)durchsichtigem Hintergrund müssen wir [c]setOpaque (false)[/c] setzen, so daß der Hintergrund der Mutterkomponente zuerst gemalt wird.
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.

Zurück
Oben