pb en Swing avec la JProgress Bar

Le
triffaultc
Bonsoir,

je ne parviens pas à afficher la JProgress bar dans mon appli.

Voici l'architecture du programme :

Classe Catalogue
{
public JProgressBar _JProgressBar;

private static void createAndShowGUI()
{
// Create and set up the window.
JFrame frame = new JFrame("Cd Manager");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// Create and set up the content pane.
JComponent newContentPane = new View();
newContentPane.setOpaque(true); // content panes must be opaque
frame.setContentPane(newContentPane);

Menu menubar = new Menu();
frame.setJMenuBar(menubar);

_JFileChooser = new JFileChooser();
_JFileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

_JProgressBar = new JProgressBar(0, 100);
_JProgressBar.setValue(0);
// _JProgressBar.setIndeterminate(true);
_JProgressBar.setStringPainted(true);

// Display the window.
frame.pack();
frame.setVisible(true);
}

@SuppressWarnings("unchecked")
public static void main(String[] args) throws IOException
{

_logger.info("Application launched.");
if (init())
{
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run()
{
createAndShowGUI();
}
});



}

}

Class View extends JPanel -> rien de particulier


Class Business implements Runnable. -> RAS

dans la méthode principale de ma classe Business (cad le run de mon
Runnable), je fais ceci :
(on y accède via un menu avec des listeners et tout et tout, toute
cette partie fonctionne).

Catalogue._JProgressBar.setValue(__progress); pour rafraichir ma
ProgressBar.

dans mes logs, progress augmente bien mais la progressBar n'apparait
jamais !!

J'ai bien lu le tutorial de sun sur
http://java.sun.com/docs/books/tutorial/uiswing/examples/components/Progress=
BarDemoProject/src/components/ProgressBarDemo.java

et je ne comprends pas ce qui coince.

Machine Mac OSX, version de Java 1.5.0

Ca doit sûrement être tout bête mais je ne vois pas

Merci pour votre aide,

Bonne soirée !
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
TestMan
Le #286150
Bonsoir,

je ne parviens pas à afficher la JProgress bar dans mon appli.

Voici l'architecture du programme :

Classe Catalogue
{
public JProgressBar _JProgressBar;

private static void createAndShowGUI()
{
// Create and set up the window.
JFrame frame = new JFrame("Cd Manager");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// Create and set up the content pane.
JComponent newContentPane = new View();
newContentPane.setOpaque(true); // content panes must be opaque
frame.setContentPane(newContentPane);

Menu menubar = new Menu();
frame.setJMenuBar(menubar);

_JFileChooser = new JFileChooser();
_JFileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

_JProgressBar = new JProgressBar(0, 100);
_JProgressBar.setValue(0);
// _JProgressBar.setIndeterminate(true);
_JProgressBar.setStringPainted(true);

// Display the window.
frame.pack();
frame.setVisible(true);
}

@SuppressWarnings("unchecked")
public static void main(String[] args) throws IOException
{

_logger.info("Application launched.");
if (init())
{
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run()
{
createAndShowGUI();
}
});



}

}

Class View extends JPanel -> rien de particulier


Class Business implements Runnable. -> RAS

dans la méthode principale de ma classe Business (cad le run de mon
Runnable), je fais ceci :
(on y accède via un menu avec des listeners et tout et tout, toute
cette partie fonctionne).

Catalogue._JProgressBar.setValue(__progress); pour rafraichir ma
ProgressBar.

dans mes logs, progress augmente bien mais la progressBar n'apparait
jamais !!

J'ai bien lu le tutorial de sun sur
http://java.sun.com/docs/books/tutorial/uiswing/examples/components/ProgressBarDemoProject/src/components/ProgressBarDemo.java

et je ne comprends pas ce qui coince.

Machine Mac OSX, version de Java 1.5.0

Ca doit sûrement être tout bête mais je ne vois pas...

Merci pour votre aide,

Bonne soirée !



Bonjour,

ça sent la "tarte à la crème" du bloquage du fil par l'instance en
écoute :o)

Il est toujours préférable d'effectuer un travail "long" (car
nécessitant une barre de progression) dans un SwingWorker qui lui ne
bloquera pas le fil de rafraichissement.

CF. http://java.sun.com/javase/6/docs/api/javax/swing/SwingWorker.html

Sauf que vous êtes sous du 1.5 et sous OSX, regardez ainsi sur
https://swingworker.dev.java.net/

"logiquement ça marche ..." ;)


A+
TM

groups nope
Le #317602
Bonsoir,

j'avais oublié de dire que j'étais au courant pour le Swing worker
mais que je n'avais pas trouvé d'équivalent sur 1.5.

Merci pour le site cpdt, je vais télécharger le projet et l'intégrer
dans ma solution.

Bonne soirée,
Publicité
Poster une réponse
Anonyme