Bonjour à tous,
Voilà, je ne connais pas grand chose concernant le dessin en java et je pense que c'est pour celà que j'ai un problème. Je veux afficher un splash screen au lancement de mon application.
J'ai d'abord crée une classe héritant de JPanel afin qu'elle contienne l'image puis je l'ai ajouté à ma JWindow.
Le résultat obtenu est un cadre blanc sans image dedans![]()
Voici le code du panel :
Et voici celui de la JWindow :
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 /* * PanelSplash.java * * Crée le 16 septembre 2006, 09:00 * * */ package composants_graphiques; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JPanel; /**Cette classe étend JPanel afin de mettre l'image de splash-screen dessus. * */ public class PanelSplash extends JPanel{ private BufferedImage bi; /** Crée une nouvelle instance de PanelSplash */ public PanelSplash() { try{ bi=ImageIO.read(getClass().getClassLoader().getResource("./ressources/splash1.PNG")); }catch(IOException ex){ ex.printStackTrace(); bi=null; } this.setSize(bi.getWidth(),bi.getHeight()); } protected void paintComponent(Graphics g){ Graphics2D g2D=(Graphics2D)g; g2D.drawImage(bi,this.getWidth(),this.getHeight(),null); } }
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 /* * SplashScreen.java * * Crée le 16 septembre 2006, 09:30 * * */ package composants_graphiques; import java.awt.BorderLayout; import javax.swing.JWindow; public class SplashScreen extends JWindow { private PanelSplash ps=new PanelSplash(); /** Crée une nouvelle instance de SplashScreen */ public SplashScreen() { super(); this.setSize(ps.getWidth(),ps.getHeight()); this.getContentPane().add(ps,BorderLayout.CENTER); this.setLocationRelativeTo(null); } }
Partager