2023-04-18 12:29:43 +02:00
import java.awt.event.* ;
import javax.swing.JFrame ;
2023-04-28 19:17:35 +02:00
import javax.swing.JOptionPane ;
2023-04-28 20:21:15 +02:00
/ * *
2023-04-28 23:16:23 +02:00
* La class importer implémente un Action Listener pour lancer les prochaine partie du programme :
* permet das un premier temps de laisser l ' utilisateur aller chercher le fichier qu ' il souhaite importer ( FileImport )
* Ensuite , le programme va lire ce fichier ( Lecture )
* Et enfin , il va générer une grille en se basant sur le contenur du fichier
2023-04-28 20:21:15 +02:00
* @version 1 . 1
* @author Matthis Fauvet
* /
2023-04-23 23:34:51 +02:00
public class Importer implements ActionListener {
2023-04-28 23:16:23 +02:00
String cette_option ;
String cet_event ;
String ce_chemin ;
JFrame cette_frame ;
Lecture cette_lecture ;
FenetreImpGrille cette_fenetre ;
int valeur0 , valeur1 , valeur2 , valeur3 , valeur4 ;
2023-04-18 12:29:43 +02:00
2023-04-28 23:16:23 +02:00
/ * *
* Constructeur qui prend en paramètre la fenetre précédente
* @param une_frame on récupère la premiere fenetre pour la fermer un peu plus tard
2023-04-28 20:29:52 +02:00
* /
2023-04-28 23:16:23 +02:00
public Importer ( JFrame une_frame ) {
this . cette_option = " Importer Grille " ;
this . cette_frame = une_frame ;
}
/ * *
* Si l ' utilisateur décide d ' importer un grille , alors on choisit un fichier , on le lit , on créer un fenetre en se basant dessus .
* @param e on prend l ' évènement en param afin de le traiter
2023-04-28 20:29:52 +02:00
* /
2023-04-18 12:29:43 +02:00
2023-04-28 23:16:23 +02:00
public void actionPerformed ( ActionEvent e ) {
this . cet_event = e . getActionCommand ( ) ;
if ( cet_event . equals ( this . cette_option ) ) {
//System.out.println("Importation de la grille");
/*cherche le chemin du fichier */
FileImport un_test = new FileImport ( ) ;
this . ce_chemin = un_test . Parcours ( ) ;
2023-04-18 12:29:43 +02:00
2023-04-28 23:16:23 +02:00
if ( this . ce_chemin = = " " ) {
JOptionPane . showMessageDialog ( null , " Aucun fichier n'a été importé, le programme va se clore a la suite de cette fenetre " , " Erreur d'importation " , JOptionPane . ERROR_MESSAGE ) ;
System . exit ( 1 ) ;
}
2023-04-28 19:17:35 +02:00
2023-04-28 23:16:23 +02:00
/*lecture du fichier */
this . cette_lecture = new Lecture ( this . ce_chemin ) ;
2023-04-18 18:38:32 +02:00
2023-04-28 23:16:23 +02:00
this . valeur0 = this . cette_lecture . GetHeader ( 0 ) ;
this . valeur1 = this . cette_lecture . GetHeader ( 1 ) ;
this . valeur2 = this . cette_lecture . GetHeader ( 2 ) ;
this . valeur3 = this . cette_lecture . GetHeader ( 3 ) ;
this . valeur4 = this . cette_lecture . GetHeader ( 4 ) ;
2023-04-18 12:29:43 +02:00
2023-04-28 23:16:23 +02:00
/*Fermeture de la première fenètre */
cette_frame . dispose ( ) ;
2023-04-18 12:29:43 +02:00
2023-04-28 23:16:23 +02:00
/* Ouverture de la nouvelle */
2023-04-18 12:29:43 +02:00
2023-04-28 23:16:23 +02:00
this . cette_fenetre = new FenetreImpGrille ( ) ;
2023-04-18 12:29:43 +02:00
2023-04-28 23:16:23 +02:00
cette_fenetre . ImporterGrille ( this . valeur0 , this . valeur1 , this . valeur2 , this . valeur3 , this . valeur4 , this . cette_lecture . GetOffset ( ) ) ;
}
2023-04-18 12:29:43 +02:00
}
}