Bonjour,
j'essaie depuis quelques jours maintenant de faire apparaître une jframe au clic d'un bouton dans laquelle s'affiche une progressbar pour faire patienter l'utilisateur, le temps de l'exécution d'une requete et de l'affichage de la "page" suivante.
j'affiche bien la jframe mais la progress bar à l'intérieur s'affiche qu'une fois l'execution de la requete et l'affichage fait et elle se charge...
j'ai lu plein de chose, mais j'ai du mal à comprendre l'utilisation de l'EDT et de SwingWorker...
voici ma classe pour la progress bar :
et le morceaux de code que j'execute au début de l'actionperfomed de mon button
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 package interfac; import java.awt.*; import javax.swing.*; public class progression { JProgressBar progress; Thread monThread; int rappidite; JFrame cadre; public void go(int rappid) { rappidite = rappid; // Création de l'interface cadre = new JFrame("En cours de chargement"); JPanel panneau = new JPanel(); progress = new JProgressBar(0, 100); panneau.add("Center", progress); cadre.getContentPane().add(BorderLayout.CENTER, panneau); cadre.setSize(275, 85); java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); cadre.setLocation( (screenSize.width - cadre.getWidth()) / 2, (screenSize.height - cadre.getHeight()) / 2); cadre.setVisible(true); cadre.setResizable(false); cadre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Création de thread monThread = new Thread(new MonRunnable()); monThread.start(); } public class MonRunnable implements Runnable { public void run() { for (int j = 1; j < 100; j++) // on fait une boucle pour que la JProgressBar "avance" { progress.setValue(j); try { Thread.sleep(rappidite); } catch (Exception e) { e.printStackTrace(); } } cadre.dispose(); //on ferme le cadre (le chergement est fini!) } } }
merci pour votre aide qui sera surement d'un grand secours !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 private void jButtonConectarseConnectionActionPerformed(java.awt.event.ActionEvent evt) { //connecter l'utilisateur progression progress = new progression(); progress.go(12);
Partager