import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.Menu;
import java.io.*;
import java.util.StringTokenizer;
import java.util.*;
public class Educatemps{
    Eleve etudiant;
    int i=0;
    String ligneTitre;
    String ligneUrl;
    String ligneNiveau;
    String[] listFichier;
    File rep;
    int nb;
    JFrame fenetre;
    JMenu menuEdition;
    JMenu menuEducateur;
    TextArea boiteDialogue;
    JButton monBouton = new JButton("Jour");
    Frame popup;
    String[][] utilisateurs;
    String nomUtilisateur="";
    JLabel labelBienvenue;
    ImageIcon iconvert = new ImageIcon("iconevert.gif");
    ImageIcon iconorange = new ImageIcon("iconeorange.gif");
    ImageIcon iconrouge = new ImageIcon("iconerouge.gif");

    ImageIcon iconDrag = new ImageIcon("arbre01.gif");
    


    ImageIcon iconReconnaissance = new ImageIcon("sun10.gif");
    ImageIcon iconOrth = new ImageIcon("iconeorth.gif");
    ImageIcon iconExo = new ImageIcon("reconnaissance.gif");
    JButton labelDrag;
    JButton labelReconnaissance;
    JButton labelOrth;
   
    JLabel intituleDrag = new JLabel("Repérage");
    JLabel intituleReconnaissance = new JLabel("Images");
    JLabel intituleOrth = new JLabel("Orthographe");
    
    ImageIcon iconTitre = new ImageIcon("logoeiao2.gif");
    JLabel titre = new JLabel(iconTitre,JLabel.CENTER);
    JSeparator separateur = new JSeparator();
    JComboBox listeDrag = new  JComboBox();
    JComboBox listeReconnaissance = new  JComboBox();
    JComboBox listeOrth = new  JComboBox();
    String[][] mesIntituleListenerdrag;
    String[][] mesIntituleListenerorth;
    String[][] mesIntituleListenerreconnaissance;
    JPanel panelHaut = new JPanel();
	JPanel panelBas = new JPanel();
    // Choice listeExo = new Choice();
    Educatemps inte;
    ActionListener eventOrth;
    ActionListener eventReconnaissance;
    ActionListener eventDrag;
    Espion espion;
    public Educatemps(){
 
	fenetre = new JFrame("Educa Temps");
	labelDrag = new JButton("",iconDrag);
	labelReconnaissance = new JButton("",iconReconnaissance);
	labelOrth = new JButton("",iconOrth);
	panelBas.setLayout(null);
	panelHaut.setLayout(null);
	panelBas.setBackground(Color.blue);
	panelHaut.setPreferredSize(new Dimension(600, 30));
	titre.setBounds(new Rectangle(0,0, 1024, 200));
	titre.setFont(new java.awt.Font("Arial", 1, 25));
	
	panelBas.add(titre);
	labelBienvenue = new JLabel("Bienvenue                                    ",JLabel.CENTER);
	labelBienvenue.setBounds(new Rectangle(0,0, 1024, 20));
	labelBienvenue.setFont(new java.awt.Font("Arial", 1, 20));
	panelHaut.add(labelBienvenue);
	separateur.setBounds(new Rectangle(50, 170, 924, 40));
	panelBas.add(separateur);
	labelReconnaissance.setBounds(new Rectangle(150, 250, 100, 100));
	labelOrth.setBounds(new Rectangle(550, 250, 100, 100));
	labelDrag.setBounds(new Rectangle(300, 400, 100, 100));
	intituleReconnaissance.setBounds(new Rectangle(250,250, 200, 40));
	intituleOrth.setBounds(new Rectangle(650, 250, 200, 40));
	intituleDrag.setBounds(new Rectangle(400, 400, 300, 40));
	intituleDrag.setFont(new java.awt.Font("Arial", 1, 25));
	intituleOrth.setFont(new java.awt.Font("Arial", 1, 25));
	intituleReconnaissance.setFont(new java.awt.Font("Arial", 1, 25));
	intituleDrag.setForeground(Color.yellow);
	intituleOrth.setForeground(Color.yellow);
	intituleReconnaissance.setForeground(Color.yellow);

	listeReconnaissance.setBounds(new Rectangle(250,290, 200, 30));
	listeOrth.setBounds(new Rectangle(650, 290, 200, 30));
	listeDrag.setBounds(new Rectangle(400, 440, 300, 30));

	listeReconnaissance.setBackground(Color.white);
	listeOrth.setBackground(Color.white);
	listeDrag.setBackground(Color.white);

	panelBas.add(labelReconnaissance,null);
	panelBas.add(labelDrag,null);
	panelBas.add(labelOrth,null);
	panelBas.add(intituleReconnaissance,null);
	panelBas.add(intituleDrag,null);
	panelBas.add(intituleOrth,null);
	panelBas.add(listeOrth,null);
	panelBas.add(listeReconnaissance,null);
	panelBas.add(listeDrag,null);
	fenetre.setSize(1024,768);
	
	

	JMenuBar maBarre=new JMenuBar();
	JMenu menuFichier=new JMenu("Fichier");
	JMenuItem itemUtilisateur=new JMenuItem("Changer d'utilisateur");
	itemUtilisateur.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e){
		    popup();
		}
	    }
					     );
	menuFichier.add(itemUtilisateur);
	JMenuItem itemExit=new JMenuItem("Quitter");
	itemExit.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e){
		    Object[] options = { "Quitter", "Annuler" };
		    int i= JOptionPane.showOptionDialog(fenetre, "Tu es sûr de quitter?", "Quitter?",JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE,null, options, options[0]);
		     if (i == JOptionPane.YES_OPTION){ 

			 System.exit(0);
		}
		     if (i == JOptionPane.NO_OPTION){ 

  }
	    }
	    }
				   );
	menuFichier.add(itemExit);
	menuEdition=new JMenu ("Edition");
	JMenuItem itemEspion=new JMenuItem("Editer la session");
	itemEspion.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e){
		    espion.edite();
		    espion.montre();
		}
	    }
				     );
	menuEdition.add(itemEspion);
	menuEducateur =new JMenu ("Educateur" );
	JMenuItem itemCreeExo=new JMenu("Créer un nouvel exercice");
	JMenuItem itemOrth=new JMenuItem("Sur l'orthographe");
	itemOrth.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e){
		    JPasswordField passField = new JPasswordField(20); 
		    JPanel panel2 = new JPanel(); 
		    panel2.add(new JLabel("Mot de passe")); 
		    panel2.add(passField); 
		    JOptionPane.showMessageDialog(null,new Object[] { "Mot de passe educateur", panel2 } 
						  );
		    String pass = new String(passField.getPassword());
		    System.out.println("pass"+pass);
		    if(pass.equals("educateur")){
			CreeExoOrth1 exoOrth = new CreeExoOrth1(inte);
			exoOrth.inter();
		    }
		}
	    }
				   );

	itemCreeExo.add(itemOrth);
	JMenuItem itemReconnaissance=new JMenuItem("Repérage");
	itemReconnaissance.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e){
		    JPasswordField passField = new JPasswordField(20); 
		    JPanel panel2 = new JPanel(); 
		    panel2.add(new JLabel("Mot de passe")); 
		    panel2.add(passField); 
		    JOptionPane.showMessageDialog(null,new Object[] { "Mot de passe educateur", panel2 } 
						  );
		    String pass = new String(passField.getPassword());
		    System.out.println("pass"+pass);
		    if(pass.equals("educateur")){
			CreeExoDrag1 exoReconnaissance = new CreeExoDrag1(inte);
			exoReconnaissance.inter();
		    }
		}
	    }
					     );
	itemCreeExo.add(itemReconnaissance);
	JMenuItem itemReconnaissance2=new JMenuItem("Images");
	itemReconnaissance2.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e){
		    JPasswordField passField = new JPasswordField(20); 
		    JPanel panel2 = new JPanel(); 
		    panel2.add(new JLabel("Mot de passe")); 
		    panel2.add(passField); 
		    JOptionPane.showMessageDialog(null,new Object[] { "Mot de passe educateur", panel2 } 
						  );
		    String pass = new String(passField.getPassword());
		    System.out.println("pass"+pass);
		    if(pass.equals("educateur")){
			CreeExoReconnaissance1 exoReconnaissance2 = new CreeExoReconnaissance1(inte);
			exoReconnaissance2.inter();
		    }
		}
	    }
					      );
	JMenuItem itemSupprimeExo=new JMenuItem("Supprimer un exercice");
	itemSupprimeExo.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e){
		    
		    JPasswordField passField = new JPasswordField(20); 
		    JPanel panel2 = new JPanel(); 
		    panel2.add(new JLabel("Mot de passe")); 
		    panel2.add(passField); 
		    JOptionPane.showMessageDialog(null,new Object[] { "Mot de passe educateur", panel2 } 
						  );
		    String pass = new String(passField.getPassword());
		    System.out.println("pass"+pass);
		    if(pass.equals("educateur")){
		    SupprimeExo s = new SupprimeExo(inte);
		    s.supprime();
		    }
		}
	    }
					  );

	JMenuItem itemSupprimeEleve=new JMenuItem("Supprimer un utilisateur");
	itemSupprimeEleve.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e){
		    JPasswordField passField = new JPasswordField(20); 
		    JPanel panel2 = new JPanel(); 
		    panel2.add(new JLabel("Mot de Passe")); 
		    panel2.add(passField); 
		    JOptionPane.showMessageDialog(null,new Object[] { "Mot de passe educateur", panel2 } 
						  );
		    String pass = new String(passField.getPassword());
		    System.out.println("pass"+pass);
		    if(pass.equals("educateur")){
			SupprimeUtilisateur sup = new SupprimeUtilisateur(nomUtilisateur,inte);
			sup.creeListeUtilisateur(); 
		    } 
		}
	    }
					  );

	JMenuItem itemModifieExo=new JMenuItem("Modifier un exercice");
	itemModifieExo.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e){
		    
		    JPasswordField passField = new JPasswordField(20); 
		    JPanel panel2 = new JPanel(); 
		    panel2.add(new JLabel("Mot de passe")); 
		    panel2.add(passField); 
		    JOptionPane.showMessageDialog(null,new Object[] { "Mot de passe educateur", panel2 } 
						  );
		    String pass = new String(passField.getPassword());
		    System.out.println("pass"+pass);
		    if(pass.equals("educateur")){
		    Modification m = new Modification(inte);
		    m.modifie();
		    }
		}
	    }
					  );
	JMenu  menuAide=new JMenu ("Aide");
	JMenuItem itemManuel=new JMenuItem("Manuel d'utilisation");
	itemManuel.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e){
		  //    try{
//  			Runtime.getRuntime().exec("manuel.htm");
//  		    }
//  		    catch(IOException z){
//  			System.out.println("Et non");
//  		    }
		 
		    Manuel m = new Manuel();
	 m.inter();
		 
		  		}
	    }
				     );
	menuAide.add(itemManuel);
	JMenu  menuRenseignement=new JMenu ("?");
	JMenuItem itemAPropos=new JMenuItem("A propos");
	itemAPropos.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e){
		    JOptionPane.showMessageDialog(fenetre,"<html><center><b><font color=red>Logiciel EducaTemps</font></b><br>Réalisation:<br>Julien Van Den Bossche<br>Benoît Moulin<br>Copyright juin 2003<br></center></html>");
		}
	    }
				      );
	menuRenseignement.add(itemAPropos);

	itemCreeExo.add(itemReconnaissance2);
	menuEducateur.add(itemCreeExo);

	menuEducateur.add(itemSupprimeExo);
	menuEducateur.add(itemModifieExo);
	menuEducateur.add(itemSupprimeEleve);

	maBarre.add(menuFichier);
	maBarre.add(menuEdition);
	maBarre.add(menuEducateur);
	maBarre.add(menuAide);
	maBarre.add(menuRenseignement);
	fenetre.setJMenuBar(maBarre);
	fenetre.addWindowListener(new WindowAdapter(){
		public void windowClosing(WindowEvent e){
		    System.exit(0);
		}
	    }
				  );

	fenetre.getContentPane().add("North",panelHaut);
	fenetre.getContentPane().add("Center",panelBas);
	fenetre.show();   
inte=this;

    }	
    
    public void creeListeExo(){
	
	//partie nouveau exo
	listeReconnaissance.removeAllItems();
	listeDrag.removeAllItems();
	listeOrth.removeAllItems();
	labelReconnaissance.removeActionListener(eventReconnaissance);
	labelOrth.removeActionListener(eventOrth);
	labelDrag.removeActionListener(eventDrag);
	listeReconnaissance.insertItemAt("Choisis ton exercice",0);
	listeOrth.insertItemAt("Choisis ton exercice",0);
	listeDrag.insertItemAt("Choisis ton exercice",0);
	listeReconnaissance.setSelectedIndex(0);
	listeOrth.setSelectedIndex(0);
	listeDrag.setSelectedIndex(0);
	

	rep = new File("exercice/drag");
	listFichier = rep.list();
	nb=listFichier.length;  
	mesIntituleListenerdrag= new String[nb+1][2];
	for(i=0; i<listFichier.length; i++){
	    try{ 		
		BufferedReader fichierexo = new BufferedReader(new FileReader("exercice/drag/"+listFichier[i]));
		ligneTitre=fichierexo.readLine();
		ligneUrl=fichierexo.readLine();
		ligneNiveau=fichierexo.readLine();
		listeDrag.insertItemAt(ligneTitre+" ("+ligneNiveau+")",i+1);
		mesIntituleListenerdrag[i+1][0]=ligneUrl;
		mesIntituleListenerdrag[i+1][1]=ligneNiveau;
	    }
	    catch(FileNotFoundException err)
		{
		    System.err.println("Fichier non trouve !\n");
		    System.err.println(err);
		}
	    catch(IOException err)
		{
		    System.err.println("Erreur d'IO\n");
		    System.err.println(err);
		}
	}
	rep = new File("exercice/orth");
	listFichier = rep.list();
	nb=listFichier.length;  
	mesIntituleListenerorth= new String[nb+1][2];
	for(i=0; i<listFichier.length; i++){
	    try{ 		
		BufferedReader fichierexo = new BufferedReader(new FileReader("exercice/orth/"+listFichier[i]));
		ligneTitre=fichierexo.readLine();
		ligneUrl=fichierexo.readLine();
		ligneNiveau=fichierexo.readLine();
		listeOrth.insertItemAt(ligneTitre+" ("+ligneNiveau+")",i+1);
		mesIntituleListenerorth[i+1][0]=ligneUrl;
		mesIntituleListenerorth[i+1][1]=ligneNiveau;
	    }
	    catch(FileNotFoundException err)
		{
		    System.err.println("Fichier non trouve !\n");
		    System.err.println(err);
		}
	    catch(IOException err)
		{
		    System.err.println("Erreur d'IO\n");
		    System.err.println(err);
		}
	}
	
		
	rep= new File("exercice/reconnaissance");
	listFichier=rep.list();
	nb=listFichier.length;  
	mesIntituleListenerreconnaissance = new String[nb+1][2];
	for(i=0; i<listFichier.length; i++){
	    try{ 		
		BufferedReader fichierexo = new BufferedReader(new FileReader("exercice/reconnaissance/"+listFichier[i]));
		ligneTitre=fichierexo.readLine();
		ligneUrl=fichierexo.readLine();
		ligneNiveau=fichierexo.readLine();
		listeReconnaissance.insertItemAt(ligneTitre+" ("+ligneNiveau+")",i+1);
		mesIntituleListenerreconnaissance[i+1][0]=ligneUrl;
		mesIntituleListenerreconnaissance[i+1][1]=ligneNiveau;
	    }
	    catch(FileNotFoundException err)
		{
		    System.err.println("Fichier non trouve !\n");
		    System.err.println(err);
		}
	    catch(IOException err)
		{
		    System.err.println("Erreur d'IO\n");
		    System.err.println(err);
		}
	}

	//le drags and drops avec du texte (repérage)************************************************************
	eventDrag = new ActionListener(){
		public void actionPerformed(ActionEvent e){
		    if(listeDrag.getSelectedIndex()==0){
			JOptionPane.showMessageDialog(fenetre,"Vous devez choisir un exercice");
		    }
		    else{
			String urlExo = mesIntituleListenerdrag[listeDrag.getSelectedIndex()][0];
			System.out.println(mesIntituleListenerdrag[listeDrag.getSelectedIndex()][0]);
			if(mesIntituleListenerdrag[listeDrag.getSelectedIndex()][1].equals("1")){
			    System.out.println(mesIntituleListenerdrag[listeDrag.getSelectedIndex()][1]);
			    ExoDrag1 exo = new ExoDrag1(urlExo,espion,etudiant);
			    exo.reader();
			    exo.reprise();
			}
			if(mesIntituleListenerdrag[listeDrag.getSelectedIndex()][1].equals("2")){
			    System.out.println(mesIntituleListenerdrag[listeDrag.getSelectedIndex()][1]);
			    ExoDrag2 exo = new ExoDrag2(urlExo,espion,etudiant);
			    exo.reader();
			    exo.reprise();
		    }
			if(mesIntituleListenerdrag[listeDrag.getSelectedIndex()][1].equals("3")){
			    System.out.println(mesIntituleListenerdrag[listeDrag.getSelectedIndex()][1]);
			    ExoDrag3 exo = new ExoDrag3(urlExo,espion,etudiant);
			    exo.reader();
			    exo.reprise();
			}
		    }
		}
	    };
	labelDrag.addActionListener(eventDrag);
	
	
	
	eventOrth = new ActionListener(){
		public void actionPerformed(ActionEvent e){
		    if(listeOrth.getSelectedIndex()==0){
			JOptionPane.showMessageDialog(fenetre,"Vous devez choisir un exercice");
		    }
		    else{
			String urlExo = mesIntituleListenerorth[listeOrth.getSelectedIndex()][0];
			if(mesIntituleListenerorth[listeOrth.getSelectedIndex()][1].equals("1")){
			    ExoOrth1 exo = new ExoOrth1(urlExo,espion,etudiant);
			    exo.reader();
			    exo.reprise();
			}
			if(mesIntituleListenerorth[listeOrth.getSelectedIndex()][1].equals("2")){
			    ExoOrth2 exo = new ExoOrth2(urlExo,espion,etudiant);
			    exo.reader();
			    exo.reprise();
			}

		    }
		}
	    };
	labelOrth.addActionListener(eventOrth);
	
	
	//le drags and drops avec image************************************************************
	
	eventReconnaissance = new ActionListener(){
    		public void actionPerformed(ActionEvent e){
		    if(listeReconnaissance.getSelectedIndex()==0){
			JOptionPane.showMessageDialog(fenetre,"Vous devez choisir un exercice");
		    }
		    else{
			String urlExo = mesIntituleListenerreconnaissance[listeReconnaissance.getSelectedIndex()][0];
			if( mesIntituleListenerreconnaissance[listeReconnaissance.getSelectedIndex()][1].equals("1")){
			System.out.println(mesIntituleListenerreconnaissance[listeReconnaissance.getSelectedIndex()][1]);
			ExoReconnaissance1 exo1 = new ExoReconnaissance1(urlExo,espion,etudiant);
			exo1.reader();
			exo1.reprise();
			}
			if( mesIntituleListenerreconnaissance[listeReconnaissance.getSelectedIndex()][1].equals("2")){
			    System.out.println(mesIntituleListenerreconnaissance[listeReconnaissance.getSelectedIndex()][1]);
			    ExoReconnaissance2 exo1 = new ExoReconnaissance2(urlExo,espion,etudiant);
			    exo1.reader();
			    exo1.reprise();
			}  
			if( mesIntituleListenerreconnaissance[listeReconnaissance.getSelectedIndex()][1].equals("3")){
			    System.out.println(mesIntituleListenerreconnaissance[listeReconnaissance.getSelectedIndex()][1]);
			    ExoReconnaissance3 exo1 = new ExoReconnaissance3(urlExo,espion,etudiant);
			    exo1.reader();
			    exo1.reprise();
			}  
		    }
		}
	    };
	labelReconnaissance.addActionListener(eventReconnaissance);
	
	panelBas.repaint();
	listeReconnaissance.revalidate();
	listeDrag.revalidate();
	listeOrth.revalidate();
    }
    
    public void popup(){
	labelReconnaissance.setEnabled(false);
	labelOrth.setEnabled(false);
	labelDrag.setEnabled(false);
	popup = new Frame("session");
	popup.addWindowListener(new WindowAdapter(){
		public void windowClosing(WindowEvent e){
		    JOptionPane.showMessageDialog(popup,"Vous devez ouvrir une session, ou en créer une.");
		}
	    }
				);
	popup.addWindowListener(new WindowAdapter(){
		public void windowIconified(WindowEvent e){
		    
		}
	    }
				);
	
	GridBagLayout gridbag = new GridBagLayout();
	GridBagConstraints c = new GridBagConstraints();
	JPanel panel = new JPanel(gridbag);
	c.fill = GridBagConstraints.HORIZONTAL;
	
	
	final Choice listeNom = new Choice();
	
	JLabel labelTitre= new JLabel("Rentre ton nom puis ton prénom");
	labelTitre.setFont(new java.awt.Font("Arial", 1, 20));
  	labelTitre.setBorder(
			     BorderFactory.createCompoundBorder(
								BorderFactory.createTitledBorder("Nouvel utilisateur"),
								BorderFactory.createEmptyBorder(5,10,5,10)));
  	labelTitre.setPreferredSize(new Dimension(300,40));
  	labelTitre.setForeground(Color.red);
	labelTitre.setBackground(Color.white);
	//c.ipady = 40;     
	c.insets = new Insets(10,10,10,10);
	c.weightx = 0.0;
	c.gridwidth = 5;
	c.gridx = 0;
	c.gridy = 0;
	gridbag.setConstraints(labelTitre, c);
	panel.add(labelTitre);

	c.insets=new Insets(0,0,0,0);
	c.gridwidth = 1;
	JLabel labelNom = new JLabel("Nom :");
	//c.ipady = 0;  
	c.weightx = 0.5;
	c.gridx = 0;
	c.gridy = 1;
	gridbag.setConstraints(labelNom, c);
	panel.add(labelNom);
	
	JLabel labelPrenom = new JLabel("Prénom :");
	//c.weightx = 0.5;
	c.gridx = 2;
	c.gridy = 1;
	gridbag.setConstraints(labelPrenom, c);
	panel.add(labelPrenom);
	
	final JTextField zoneNom= new JTextField(10);
	//zoneNom.setPreferredSize(new Dimension(100,20));
	c.weightx = 0.5;
	c.gridx = 1;
	c.gridy = 1;
	gridbag.setConstraints(zoneNom, c);
	panel.add(zoneNom);
	
  	final JTextField zonePrenom= new JTextField(10);
	//zonePrenom.setPreferredSize(new Dimension(100,20));
	c.weightx = 0.5;
	c.gridx = 3;
	c.gridy = 1;
	gridbag.setConstraints(zonePrenom, c);
	panel.add(zonePrenom);

	JButton valideNouveau = new JButton("Ok!");
	valideNouveau.addActionListener(new ActionListener(){
  		public void actionPerformed(ActionEvent e){
		    if((zoneNom.getText().equals(""))||(zonePrenom.getText().equals(""))){
			JOptionPane.showMessageDialog(popup, "Vérifie les champs Nom et Prénom");
		    }
		    else{
			String urlfichier = "usersdata/"+zoneNom.getText()+" "+zonePrenom.getText()+".txt";
			File lefichier = new File(urlfichier);
			if(lefichier.exists()){
			    JOptionPane.showMessageDialog(popup,"Cet utilisateur existe déjà. Choisissez votre nom dans la liste ou changer de nom et prénom");
			}
			else{
			    creeProfil(zoneNom.getText(), zonePrenom.getText());
			    listeNom.addItem(zoneNom.getText()+" "+zonePrenom.getText());
			}
		    }	
		}
  	    }
					);
	
	
	
	
	c.weightx = 0.5;
	c.gridx = 4;
	c.gridy = 1;
	gridbag.setConstraints(valideNouveau, c);
	panel.add(valideNouveau);
	
	JSeparator separateur = new JSeparator();
	c.weightx = 0.5;
	c.gridwidth=5;
	c.gridx = 0;
	c.gridy = 2;
	gridbag.setConstraints(separateur, c);
	panel.add(separateur);
	
	c.gridwidth=1;
	
	JLabel labelTitre2= new JLabel("Choisis ton nom et ton prénom dans la liste");
	labelTitre2.setFont(new java.awt.Font("Arial", 1, 20));
  	labelTitre2.setBorder(
			      BorderFactory.createCompoundBorder(
                                  BorderFactory.createTitledBorder("Déjà venu?"),
                                  BorderFactory.createEmptyBorder(5,5,5,5)));
  	labelTitre2.setPreferredSize(new Dimension(300,40));
  	labelTitre2.setForeground(Color.red);
	labelTitre2.setBackground(Color.white);
	//c.ipady = 40;     
	c.insets = new Insets(10,10,10,10);
	c.weightx = 0.0;
	c.gridwidth = 5;
	c.gridx = 0;
	c.gridy = 3;
	gridbag.setConstraints(labelTitre2, c);
	panel.add(labelTitre2);
	
	listeNom.addItem("Trouve ton nom dans cette liste");
	for(int j=0; j<utilisateurs.length; j++){
	    listeNom.addItem(utilisateurs[j][0]+" "+utilisateurs[j][1]);
	}
	listeNom.addItemListener(new ItemListener() {
		public void itemStateChanged(ItemEvent e) {
		    Choice c = (Choice)e.getSource();
		    nomUtilisateur = (String)c.getSelectedItem();
		    System.out.println(nomUtilisateur);
		    labelBienvenue.setText("Bienvenue "+nomUtilisateur);
		}
	    });
	//c.weightx = 0.5;
	c.gridwidth = 3;
	c.gridx = 0;
	c.gridy = 4;
	gridbag.setConstraints(listeNom, c);
	panel.add(listeNom);
       
	JButton valideChoix = new JButton("Ok!");
	valideChoix.setSize(25,25);
  	valideChoix.addActionListener(new ActionListener(){
  		public void actionPerformed(ActionEvent e){
		    if((nomUtilisateur.equals(""))||nomUtilisateur.equals("Trouve ton nom dans cette liste")){
			JOptionPane.showMessageDialog(popup,"Trouve ton nom dans cette liste");
		    }
		    else{
			monBouton.setEnabled(false);
			System.out.println("test réussi");
			labelBienvenue.setText("Bienvenue "+nomUtilisateur);
			labelReconnaissance.setEnabled(true);
			etudiant=new Eleve(nomUtilisateur);
			labelOrth.setEnabled(true);
			labelDrag.setEnabled(true);
			creeListeExo();
			espion = new Espion(nomUtilisateur);
			popup.dispose();
		    }
		}
	    }
				      );
	
	c.gridwidth = 2;
	c.gridx = 4;
	c.gridy = 4;
	gridbag.setConstraints(valideChoix, c);
	panel.add(valideChoix);
	popup.add(panel);
	popup.setSize(500,300);
	popup.setResizable(false);
	popup.show();
    }
    
    public void creeProfil(String nom, String prenom){
	String login = nom+" "+prenom+".txt";
	String fileName = "usersdata/"+login;
	PropsHandler handler = new PropsHandler(); 
	String propertiesFilePath = fileName; 
	Properties props = handler.loadProps(propertiesFilePath); 
	props.put("NOM",nom); 
	props.put("PRENOM",prenom); 
	handler.storeProps(propertiesFilePath,props); 
    
    }

    
    public void creeListeUtilisateur(){
	rep = new File("usersdata");
	String[] listFichier = rep.list();
	int nb=listFichier.length;  
	String[][] utilisateurs = new String[nb][2];
	for(int i=0; i<listFichier.length; i++){
	    String s = listFichier[i];
	    PropsHandler handler = new PropsHandler(); 
	    String propertiesFilePath = "usersdata/"+s; 
	    Properties props = handler.loadProps(propertiesFilePath); 
	    String nom=props.getProperty("NOM"); 
	    String prenom=props.getProperty("PRENOM"); 
	    utilisateurs[i][0]=nom;
	    utilisateurs[i][1]=prenom;
	}
	this.utilisateurs=utilisateurs;
    }

      
    public static void main(String[] param){
	Educatemps f =new Educatemps();
	//f.creeListeExo();
	//f.creeProfil("van den bossche", "julien");
	//f.creeProfil("moulin", "benoit");
	f.creeListeUtilisateur();
	//f.creeListeExo();
	f.popup();
	   }
}
 





