Bonjour,

En m'inspirant de différent code j'ai créer une classe permettant normalement d'obtenir un JDesktopPane avec une image en fond. Le problème c'est que ce fond reste toujours blanc .

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
import java.awt.Graphics;
import java.awt.Image;
import java.net.MalformedURLException;
import java.net.URL;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
 
 
public class myJDesktopPane extends JDesktopPane
{
	/**
         * 
         */
	private static final long serialVersionUID = 8900344751571682776L;
	public Image backGround;
 
	public myJDesktopPane()
	{
		super();
		this.backGround=null;
	}
 
	public myJDesktopPane(Image background)
	{
		super();
		this.backGround = background; 
        setOpaque(true);
	}
 
	public void paint( Graphics g ) 
        { 
        if ( backGround != null ) 
            g.drawImage( backGround, 0, 0,getSize().width, getSize().height, this );
        super.paint( g ); 
       }
 
	public static URL getURL( String file )throws MalformedURLException 
	{ 
		URL documentBase = new URL("file:///" + System.getProperty("user.dir") + "/"); 
		return new URL( documentBase, file ); 
	}
 
	public static Image loadImages( JFrame frm, String imageFile ) 
        { 
        try 
        { 
            Image image = frm.getToolkit().getImage( getURL( imageFile ) ); 
            return image; 
        } 
        catch (Exception e) 
        { 
            System.out.println( " getimages : " + e ); 
        } 
        return null; 
    }
}
Donc le code, et voici comment il est appelé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
class Frame extends JFrame
{
public myJDesktopPane desktopframe;
....
desktopframe= new myJDesktopPane(myJDesktopPane.loadImages(this,".//photo.jpg"));
...
}
Merci pour votre aide.