cs_flolag
Messages postés113Date d'inscriptionmardi 9 avril 2002StatutMembreDernière intervention12 août 2016
-
29 mai 2008 à 10:02
dvoraky
Messages postés744Date d'inscriptiondimanche 1 avril 2007StatutMembreDernière intervention 9 mai 2010
-
29 mai 2008 à 15:49
Salut,
Désolé de reposter un message à ce sujet mais je n'ai pas trouvé comment editer mon autre message.
Je voudrais en fait sur mon applet qu'il s'affiche une barre de progression (JProgressBar) durant une opération que mon applet effectue. Mais je ne trouve pas comment faire car avec ce que j'ai essayé dans mon code ci dessous il m'affiche la barre de progression qu'à la fin si quelqu'un aurait une solution.
JFrame cadre = new JFrame("En cours de chargement");
JPanel panneau = new JPanel();
JLabel texte = new JLabel("Veuillez patienter pendant le chargement...");
JProgressBar progress = new JProgressBar(0, 100);
progress.setIndeterminate(true);
panneau.add("Center", progress);
panneau.add("Center", texte);
cadre.getContentPane().add(BorderLayout.CENTER, panneau);
cadre.setSize(800, 600);
cadre.setVisible(true);
cadre.setResizable(false);
cadre.setFocusableWindowState(true);
cadre.setFocusable(true);
cadre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
try {
System.out.println("SaveButton actionPerformed() L: " + largeurSV
+ ", H: " + hauteurSV);
Image image = monImage.getScaledInstance(largeurSV, hauteurSV,
BufferedImage.SCALE_SMOOTH);
// Redimensionnement de l'image
image.flush();
// ecriture dans le fichier
Date maintenant = new Date();
SimpleDateFormat monFormat = new SimpleDateFormat(
"dd_MM_yyyy-kk_mm_ss");
dateFormatee = monFormat.format(maintenant);
monImage = new BufferedImage(largeurSV, hauteurSV,
BufferedImage.TYPE_INT_RGB);
monImage.createGraphics().drawImage(image, 0, 0, null);
// creation nouvelle image redimensionner
monImage.flush();
System.out
.println("Erreur class SaveButton envoi FTP //CONNEXION UnknownHostException: "
+ eftp1);
JOptionPane.showMessageDialog(this,
"L'image n'a pu être envoyée ! \n Réessayez plus tard",
" Erreur lors de l'envoi", JOptionPane.WARNING_MESSAGE);
} catch (IOException eftp2) {
System.out
.println("Erreur class SaveButton envoi FTP //CONNEXION IOException : "
+ eftp2);
JOptionPane.showMessageDialog(this,
"L'image n'a pu être envoyée ! \n Réessayez plus tard",
" Erreur lors de l'envoi", JOptionPane.WARNING_MESSAGE);
}
// LOGIN AVEC MP
try {
ftpVariable.login(loginFTP, mpFTP);
} catch (IOException eftp3) {
System.out
.println("Erreur class SaveButton envoi FTP // LOGIN AVEC MP : "
+ eftp3);
JOptionPane.showMessageDialog(this,
"L'image n'a pu être envoyée ! \n Réessayez plus tard",
" Erreur lors de l'envoi", JOptionPane.WARNING_MESSAGE);
System.out
.println("Erreur class SaveButton envoi FTP // UPLOAD DE LA NOUVELLE IMAGE CREE : "
+ eftp4);
JOptionPane.showMessageDialog(this,
"L'image n'a pu être envoyée ! \n Réessayez plus tard",
" Erreur lors de l'envoi", JOptionPane.WARNING_MESSAGE);
}
// LOGOUT
try {
ftpVariable.logout();
} catch (IOException eftp5) {
System.out.println("Erreur class SaveButton envoi FTP // LOGOUT : "
+ eftp5);
JOptionPane.showMessageDialog(this,
"L'image n'a pu être envoyée ! \n Réessayez plus tard",
" Erreur lors de l'envoi", JOptionPane.WARNING_MESSAGE);
}
// DECONNEXION
ftpVariable.disconnect();
nb++;
JOptionPane.showMessageDialog(this, "Votre image a bien été envoyée",
"Envoi réussi", JOptionPane.INFORMATION_MESSAGE);
/*-----------------------------------------------------------------------------------
-------------------------------- Fin de Envoi vers FTP ------------------------------
------------------------------------------------------------------------------------*/
dvoraky
Messages postés744Date d'inscriptiondimanche 1 avril 2007StatutMembreDernière intervention 9 mai 20108 29 mai 2008 à 13:08
Regarde pourquoi ça marche pas...
Je ne suis pas un compilateur sur patte mais bon je pense que le this n'est pas vraiment approprié étant donné que tu es dans une classe imbriqué (thread).
Tu peux remplacer le "this" par "Nom_de_ta_classe.this" où tu mets le nom de ta classe où se trouve la classe imbriqué Thread.
cs_flolag
Messages postés113Date d'inscriptionmardi 9 avril 2002StatutMembreDernière intervention12 août 2016 29 mai 2008 à 11:04
Oui mais le problème ne vient pas de là (ma barre est en valeur indéterminé donc elle tourne toujorus c'est juste un test) en fait quand je clic sur le bouton envoyer il envoi d'abord le fichier et ensutie affiche ma barre de progression. Parait il que c'est normal il faudrait que j'utilise des Thread mais j'avoue que je n'y comprend pas grand choses.
Merci de ton aide
cs_flolag
Messages postés113Date d'inscriptionmardi 9 avril 2002StatutMembreDernière intervention12 août 2016 29 mai 2008 à 12:54
Merci beaucoup ça marche !
Seul petit problème c'est que dans le Thread il n'accepte pas :
JOptionPane.showMessageDialog(this,
"L'image n'a pu être envoyée ! \n Réessayez plus tard",
" Erreur lors de l'envoi", JOptionPane.WARNING_MESSAGE);
Alors que j'ai besoin de ça pour prévenir l'utilisateur que c'est OK si t'aurais une solution rapidement.
Merci encore
cs_flolag
Messages postés113Date d'inscriptionmardi 9 avril 2002StatutMembreDernière intervention12 août 2016 29 mai 2008 à 14:39
Merci encore mais c'est grave comme je me rend comtpe que je me casse la tête sur de problèmes parfois tout bête ...
Si j'ai d'autre problème je te tiens au courant
cs_flolag
Messages postés113Date d'inscriptionmardi 9 avril 2002StatutMembreDernière intervention12 août 2016 29 mai 2008 à 15:22
Dernier problème une fois que mon image est envoyé ou qu'il y a eu un problème une petite fenetre se ferme mais au centre mon image est toujours affiché et pire un cadre blanc est placé là ou etait la fenetre de chargement avant. J'ai bien essayé un repaint mais sans résultat car ma methode paint() est dans un autre classe donc je ne voit pas trop comment faire.
Merci j'espere avoir été clair parce que je sais pas trop comment expliquer.
dvoraky
Messages postés744Date d'inscriptiondimanche 1 avril 2007StatutMembreDernière intervention 9 mai 20108 29 mai 2008 à 15:28
Non, il faut bien appeller les méthodes de redessinage des composants... c'est là que les limites de swing commencent à arriver. Enfin, je veux dire c'est farfelu pour trouver.
Fais bien les repaint() comme il faut, essaie de voir que toutes les méthodes repaint de tous les composants pouvant se trouver sous la zone à rafraichir s'exécutent...