Bonjour,

J'ai créé un applet ouvrant une JFrame avec une image de fond. Le probleme est que lorsque j'ajoute des Panels transparents (méthode setOpaque(false)) à ma JFrame mes panels restent opaques

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import java.awt.*;
import java.applet.*;
import javax.swing.border.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
 
 
	public class frame extends Applet
	{  		
		Image Fond;
		Image Cour;
		JFrame_fond fenetre;
 
 
		public void init()
    		{ 
 
			//Instanciation des objets de l'IHM
 
			JPanel centre_panel = new JPanel();
			JPanel img_panel = new JPanel();
			JPanel titre_panel = new JPanel();
			JPanel rep_ind_panel = new JPanel();
			Border b = new CompoundBorder(new LineBorder(Color.black,2),new LineBorder(Color.gray,2));
			Fond = getImage(getCodeBase(), "fond.jpg");
			Cour = getImage(getCodeBase(), "cour.jpg");
 
			fenetre = new JFrame_fond(Fond);
 
			img_panel.setOpaque(false);
			titre_panel.setOpaque(false);
			rep_ind_panel.setOpaque(false);
			centre_panel.setOpaque(false);
 
			//Definition des proriétés des objets de l'IHM
 
			img_panel.setBorder(b);
			titre_panel.setBorder(b);
			rep_ind_panel.setBorder(b);
 
 
			centre_panel.setLayout(new GridLayout(1, 2));
			centre_panel.add(img_panel);
			centre_panel.add(rep_ind_panel);
 
			fenetre.setLayout(new BorderLayout());
			fenetre.add("North",titre_panel);
			fenetre.add("Center",centre_panel);
			fenetre.setResizable(false);
			fenetre.setExtendedState(fenetre.MAXIMIZED_BOTH);
			fenetre.setUndecorated(true);
			fenetre.setVisible(true);
			centre_panel.setVisible(true);
 
     		}
 
 
 
	}
 
	class JFrame_fond extends JFrame
	{
		Image Fond;
 
		JFrame_fond(Image fond)
		{
			Fond = fond;
		}
 
		public void paintComponent(Graphics g) {
			g.drawImage(Fond,0,0,null);
		}
 
	}
Avez vous une ideés ?

merci

++ nairolf