Bonjour,

Voilà je suis entrain de faire un splash screen et j'ai un soucis tout bête, mon splash screen sera comme ça :

- une image comme fond
- un JProgressBar
- un texte juste au dessus du JProgressBar

Mon code actuel (c'est qu'un squelette en l'êtat):

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
 
public class Progress extends JWindow{
 
	private Thread t;
	private JProgressBar bar;
 
	public Progress(){
 
		setSize(300, 320);
		setLocationRelativeTo(null);
 
		JLabel message = new JLabel();
		JLabel img = new JLabel(new ImageIcon("C:\\Users\\manux\\Pictures\\utile\\splash.jpg"));
 
		message.setText("Chargement...");
		message.setForeground(Color.BLACK);
 
		t = new Thread(new Traitement());
		bar  = new JProgressBar();
		bar.setMaximum(500);
		bar.setMinimum(0);
		bar.setStringPainted(true);
 
		this.getContentPane().add(img,BorderLayout.NORTH);
		this.getContentPane().add(message,BorderLayout.CENTER);
		this.getContentPane().add(bar,BorderLayout.SOUTH);
		t.start();	
		this.setVisible(true);		
	}
 
	class Traitement implements Runnable{
 
		public void run(){
		//traitement	
          }
	}
}
Mon soucis est de placer le texte, vu la conception actuel je ne vois pas comment je peux afficher mon texte sur l'image, juste au dessus du JProgressBar.

Le seul moyen que je vois c'est de créer un nouveau objet qui gérera l'image + le texte via un paintComponent().

Je me demande si y a pas une autre façon de faire que devoir créer un nouvel objet spécialement pour ça ?