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.
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
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; } }
Merci pour votre aide.
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")); ... }
Partager