mis a jour selon ma comprehenssion
This commit is contained in:
@@ -1,15 +1,19 @@
|
||||
package fr.iutfbleau.sae;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.io.File;
|
||||
import javax.swing.JDialog;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JProgressBar;
|
||||
|
||||
/**
|
||||
* Thread pour sauvegarder un fichier PIF en arriere-plan.
|
||||
* Permet d'eviter de bloquer l'interface graphique pendant la sauvegarde.
|
||||
* Affiche un dialogue de progression pendant la sauvegarde.
|
||||
*/
|
||||
public class ThreadSauvegardePIF extends Thread {
|
||||
|
||||
private final ConverterController controleur;
|
||||
private final File fichier;
|
||||
private ConverterController controleur;
|
||||
private File fichier;
|
||||
|
||||
/**
|
||||
* Construit un nouveau thread de sauvegarde.
|
||||
@@ -24,13 +28,36 @@ public class ThreadSauvegardePIF extends Thread {
|
||||
|
||||
/**
|
||||
* Execute la sauvegarde du fichier PIF.
|
||||
* Affiche un dialogue de progression pendant la sauvegarde.
|
||||
*/
|
||||
@Override
|
||||
public void run() {
|
||||
// Creer le dialogue de progression
|
||||
JDialog dialogue = new JDialog();
|
||||
dialogue.setTitle("Sauvegarde");
|
||||
dialogue.setModal(false);
|
||||
dialogue.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
|
||||
dialogue.setSize(300, 100);
|
||||
dialogue.setLocationRelativeTo(null);
|
||||
dialogue.setLayout(new BorderLayout(10, 10));
|
||||
|
||||
JLabel label = new JLabel("Sauvegarde en cours...", JLabel.CENTER);
|
||||
dialogue.add(label, BorderLayout.CENTER);
|
||||
|
||||
JProgressBar barre = new JProgressBar();
|
||||
barre.setIndeterminate(true);
|
||||
dialogue.add(barre, BorderLayout.SOUTH);
|
||||
|
||||
dialogue.setVisible(true);
|
||||
|
||||
try {
|
||||
// Sauvegarder le fichier
|
||||
controleur.saveAsPIF(fichier.getAbsolutePath());
|
||||
dialogue.dispose();
|
||||
GestionErreur.afficherInfo("Fichier sauvegarde avec succes : " + fichier.getName());
|
||||
|
||||
} catch (Exception e) {
|
||||
dialogue.dispose();
|
||||
GestionErreur.afficherErreur("Erreur lors de la sauvegarde : " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user