Bonjour à tous,

Voilà mon problème,
J'ai créé un fond d'écran pour mettre dans la JFrame principale de mon application (je suis d'ailleurs étonné qu'il n'y a pas de fonction permettant de le faire simplement)

Bref mon fond d'écran s'affiche bien mais si j'ajoute un JPanel sur ma page,il disparaît, ce qui parait normal puisque la JPanel se met par dessus la JFrame.

J'ai donc mis mon fond d'écran sur la JPanel mais ça ne change rien, je vois l'image apparaître un dixième de seconde puis elle se fait écraser par les JButton que j'ajoute dans mon JPanel.

Je voudrais donc savoir où est-ce que j'ai foiré mon code pour que ça fasse ça.

Voici le code en question :
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
 
public class Menu extends JFrame {
 
	private JPanel menu;
	private Image im;
 
	public Menu() {
		super("Menu principal");
 
		Toolkit t = this.getToolkit();
		Dimension d = t.getScreenSize();
 
		this.setLayout(new BorderLayout());
		this.menu = new JPanel();
 
		im = redimensionner(new ImageIcon("files/images/clarinette.jpg").getImage(),d.width, d.height);
		Graphics g = im.getGraphics();
		menu.paint(g);
 
		menu.setLayout(new FlowLayout());
		menu.add(createMenuObject("visualiser", "Visualiser les réservations"));
		menu.add(createMenuObject("reserver", "Effectuer une réservation automatique"));
		menu.add(createMenuObject("reserver", "Effectuer une réservation manuelle"));
		menu.add(createMenuObject("reserver", "Effectuer une réservation périodique"));
		menu.add(createMenuObject("annuler", "   Annuler une réservation   "));
		menu.add(createMenuObject("editer", "Editer les informations d'un client"));
 
		this.getContentPane().add(menu, BorderLayout.NORTH);
		this.setSize(d);
		this.setResizable(false);
		this.setVisible(true);
	}
 
	private JButton createMenuObject(String nomImg, String txt) {
		JButton button = new JButton();
		button.setLayout(new FlowLayout());
		JLabel image = new JLabel(new ImageIcon("files/icons/"+nomImg+".png"));
		button.add(image);
		JLabel texte = new JLabel(txt);
		button.add(texte);
		button.setPreferredSize(new Dimension(230, 80));
		return button;
	}
 
	public static Image redimensionner(Image source, int width, int height) {
	    /* On crée une nouvelle image aux bonnes dimensions. */
	    BufferedImage buf = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
 
	    /* On dessine sur le Graphics de l'image bufferisée. */
	    Graphics2D g = buf.createGraphics();
	    g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
	    g.drawImage(source, 0, 0, width, height, null);
	    g.dispose();
 
	    /* On retourne l'image bufferisée, qui est une image. */
	    return buf;
	}
 
	public void paint(Graphics g) {
		g.drawImage(im, 0, 0, this);
	}
}
Merci!