[JDesktopPane] Image en background
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 :cry: .
Code:
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:
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.