Bonjour à tous,
je voudrais savoir si on peut créer une progress bar comme dans Windows XP, qui va de gauche à droite sans arrêt (durée du traitement inconnue) ?
merci d 'avance
Version imprimable
Bonjour à tous,
je voudrais savoir si on peut créer une progress bar comme dans Windows XP, qui va de gauche à droite sans arrêt (durée du traitement inconnue) ?
merci d 'avance
Salut, je viens de trouver la méthode setIndeterminate, mais apparemment certains LookAndFeel ignorent ce flag. (un autre lien, que tu as peut-être déja vu : Using Indeterminate Mode)
Tout est dans l'API :
Code:javax.swing.JProgressBar.setIndeterminate(boolean)
C'était pas très clair la question...
Si tu la veux verte, tu te codes ta propre ProgressBarUI. C'est toujours une question de LnF en Java Swing.
en fait je pensais que le type de barre XP style était déjà implémenté ou du moins je l'espérais...:mrgreen: mais le glass pane est quand même autrement plus beau et design non ?
Regarde le code de javax.swing.plaf.basic.BasicProgressBarUI dans les sources du JDK. C'est ce qui permet de dessiner le composant, libre à toi de simplement adapter ou de carrément le refaire.
Avec une version récente de java (5 ou 6) tu l'auras directement dans le L&F natif Windows.
Si tu ne veux pas utiliser ce L&F, au boulot...
en effet j'ai testé le LaF Windows mais c'est pas tip top...donc je me suis débrouillé :mrgreen:
j'ai juste modifié quelques propriétés de l UIManager pour les progressBars seulement :
j'ai également changé la couleur en vert et voilà avec ceci j'ai bien ma barre de XP :yaisse2: .... sauf que les bords sont carrés :cry: au lieu d'arrondi. C'est pas très grave mais si quelqu'un a une solution simple je prend ;)Code:
1
2
3 UIManager.put("ProgressBar.cellLength", 9); UIManager.put("ProgressBar.cellSpacing", 1);
Mouaip, enfin bon avec un code comme le suivant j'ai bien la progress XP sous XP.
Code:
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 try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException e) { // TODO Bloc catch auto-généré e.printStackTrace(); } catch (InstantiationException e) { // TODO Bloc catch auto-généré e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Bloc catch auto-généré e.printStackTrace(); } catch (UnsupportedLookAndFeelException e) { // TODO Bloc catch auto-généré e.printStackTrace(); } final JProgressBar progressBar = new JProgressBar(); final JFrame jFrame = new JFrame(); jFrame.add(progressBar); Runnable r = new Runnable() { public void run() { int i = 0; for(i = 0; i<100; i++) { try { Thread.sleep(100); } catch (InterruptedException e) { // TODO Bloc catch auto-généré e.printStackTrace(); } final int a = i; SwingUtilities.invokeLater(new Runnable() { public void run() { // TODO Raccord de méthode auto-généré progressBar.setValue(a); } }); } } }; Thread t = new Thread(r); jFrame.setSize(400, 100); jFrame.setLocationRelativeTo(null); jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); jFrame.setVisible(true); t.start();
bah dans le JDK (et pas la JRE attention) tu as un zip qui s'appeller src.zip qui contient les sources de java.
Et si tu es sous Linux, il faut télécharger le paquet des sources car il ne vient pas forcément d'office avec le JDK.
sun-java6-source par exemple.
:faq: => http://java.developpez.com/faq/java/..._installer_JDK