Bonjour à tous,
j'ai un petit soucis avec l'affichage de ma boite de dialogue (plus particulièrement du contenu de celle-ci).
j'ai créé une JFrame avec un bouton, une boite de dialogue contenant une barre de progression doit s'afficher lorsque l'app est lancé.
jusque là tout va bien , ça marche impeccable.
cette boite dialogue doit aussi s'ouvrir lorsque l'on appuie sur le bouton de la JFrame, et là c'est le drame, la boite de dialogue s'affiche mais pas son contenu, pourtant la tache qui doit s’exécuter pendant l'affichage se déroule bien.
Pourriez-vous regarder mon code et me dire ce que j'ai mal fais ?
Tous les commentaires, critiques, félicitations ou autres applaudissement seront bien évidement acceptés.
Je précise que je me suis basé sur le code trouvé à cette adresse : http://java2s.com
En remerciant par avance tous ceux qui voudront bien m'aider.
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 import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JButton; import javax.swing.JFrame; public class Main { static JFrame parentFrame; public static void main(String[] args) { parentFrame = new JFrame(); parentFrame.setLayout(null); parentFrame.setSize(500, 150); parentFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); parentFrame.setVisible(true); parentFrame.setLocationRelativeTo(null); JButton btnNewButton = new JButton("Bouton"); parentFrame.add(btnNewButton); btnNewButton.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { maj(); } }); btnNewButton.setBounds(10, 11, 89, 23); maj(); } private static void maj(){ BarProg dlg = new BarProg(parentFrame); BarProg.lcmt(dlg); } }
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 import java.awt.BorderLayout; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JProgressBar; public class BarProg extends JDialog { /** * */ private static final long serialVersionUID = 1L; static JProgressBar dpb; public BarProg(JFrame parentFrame){ super(parentFrame," ",true); dpb = new JProgressBar(0, 500); dpb.setIndeterminate(true); this.add(BorderLayout.CENTER, dpb); this.add(BorderLayout.NORTH, new JLabel("Progress...")); this.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE); this.setSize(300, 75); this.setLocationRelativeTo(parentFrame); } static void lcmt(final BarProg barProg){ barProg.repaint(); Thread t = new Thread(new Runnable() { public void run() { barProg.setVisible(true); } }); t.start(); for (int i = 0; i <= 500; i++) { dpb.setValue(i); if(dpb.getValue() == 500){ barProg.setVisible(false); } try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } } } }







Répondre avec citation
Partager