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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199
|
package ihm;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.ArrayList;
import javax.swing.JFileChooser;
import ui.BoiteDialogUI;
import ui.FenetreUI;
public class Controleur implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private static final String CONFIG_FILE = "config";
private FenetreUI fenetre;
private String labFolder = "";
private String latFolder = "";
/**
* Constructeur de la fenetre principale
*/
private void initUI() {
/* Fenetre principale */
fenetre = new FenetreUI(this);
fenetre.afficher();
}
public Controleur() {
initUI();
loadConfigFile();
}
private void loadConfigFile() {
FileInputStream fis = null;
ObjectInputStream ois = null;
File file = new File(CONFIG_FILE);
if(file.exists()) {
try {
fis = new FileInputStream(file);
ois = new ObjectInputStream(fis);
readObject(ois);
}
catch (Exception e) {
// do nothing
} finally {
if (ois != null) {
try { ois.close(); }
catch(IOException e) {}
}
if (fis != null) {
try { fis.close(); }
catch(IOException e) {}
}
}
}
}
public void saveConfigFile() {
FileOutputStream fos = null;
ObjectOutputStream oos = null;
File file = new File(CONFIG_FILE);
try {
fos = new FileOutputStream(file);
oos = new ObjectOutputStream(fos);
writeObject(oos);
}
catch (Exception e) {
// do nothing
} finally {
if (oos != null) {
try { oos.close(); }
catch(IOException e) {}
}
if (fos != null) {
try { fos.close(); }
catch(IOException e) {}
}
}
}
public ArrayList<String> rechercher(String folder, String text) {
ArrayList<String> files = new ArrayList<String>();
return files;
}
/**
* Action Recherche + Paramètres
*/
public void rechercherLAB() {
System.out.println(rechercher(this.labFolder, "file"));
}
public void rechercherLAT() {
System.out.println(rechercher(this.latFolder, "file"));
}
public File chargerDossier() {
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new java.io.File("."));
chooser.setDialogTitle("Sélectionner un dossier de sauvegarde");
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.setAcceptAllFileFilterUsed(false);
if (chooser.showOpenDialog(this.fenetre) == JFileChooser.APPROVE_OPTION) {
return chooser.getSelectedFile();
}
return null;
}
public void chargerLAB() {
File folder = chargerDossier();
if(folder != null) {
if(folder.isDirectory() && folder.exists()) {
this.labFolder = folder.getAbsolutePath();
String message = "Le dossier LAB a été ajouté : " + this.labFolder;
BoiteDialogUI.afficherInformation(this.fenetre, "Mise à jour des paramètres", message);
} else {
BoiteDialogUI.afficherErreur(this.fenetre, "Erreur lors de la mise à jour", "Le dossier est invalide");
}
}
}
public void chargerLAT() {
File folder = chargerDossier();
if(folder != null) {
if(folder.isDirectory() && folder.exists()) {
this.latFolder = folder.getAbsolutePath();
String message = "Le dossier LAT a été ajouté : " + this.latFolder;
BoiteDialogUI.afficherInformation(this.fenetre, "Mise à jour des paramètres", message);
} else {
BoiteDialogUI.afficherErreur(this.fenetre, "Erreur lors de la mise à jour", "Le dossier est invalide");
}
}
}
public void AfficherDossierLAT() {
String message = "Le dossier LAT actuel est : " + this.latFolder;
BoiteDialogUI.afficherInformation(this.fenetre, "Mise à jour des paramètres", message);
}
public void AfficherDossierLAB() {
String message = "Le dossier LAB actuel est : " + this.labFolder;
BoiteDialogUI.afficherInformation(this.fenetre, "Mise à jour des paramètres", message);
}
public String getLabFolder() {
return labFolder;
}
public String getLatFolder() {
return latFolder;
}
private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException {
this.labFolder = ois.readUTF() ;
this.latFolder = ois.readUTF() ;
}
private void writeObject(ObjectOutputStream oos) throws IOException {
oos.writeUTF(this.labFolder) ;
oos.writeUTF(this.latFolder) ;
}
// Quitter l'application et enregistrer les modifications + methode pour quitter : etes vous sure de vouloir quitter ?
public void quitter() {
saveConfigFile();
String message = "Etes vous sur de vouloir quitter ? ";
BoiteDialogUI.afficherquitter(this.fenetre, "Quitter ?", message);
//System.exit(0);
}
} |
Partager