Bonjour,
J'essaye de superposer 2 objets avec une transparence entre les deux pour laisser apparaître un objet (=JPanel) sous une image (un JLabel).
J'ai donc utilisé un JLayeredPane dans lequel j'ai mis JLabel définit comme ceci:
placé dans la couche javax.swing.JLayeredPane.PALETTE_LAYER.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 labFiligranne = new javax.swing.JLabel() { public void paint(Graphics g) { Graphics2D g2 = (Graphics2D) g.create(); g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f)); super.paint(g2); g2.dispose(); } };
Mon JPanel est placé dans la couche javax.swing.JLayeredPane.DEFAULT_LAYER
Le JLabel apparaît bien transparent à 50% mais ne laisse rien voir du JPanel...
Est-ce que la technique est mauvaise ?
Précision : le JPanel contient, in fine, un Canvas. Je ne peux pas me débarrasser de ce composant HeavyWeight. Est-ce que ce mix de LightWeight et HeavyWeight peut être la cause du problème ? Si oui comment le contourner ?
Merci
Partager