package syc.mvc.controller; import syc.mvc.view.IHM_account; import syc.mvc.view.IHM_home; import syc.mvc.model.Connexion; import syc.mvc.model.Model; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Font; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; import java.awt.Point; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Observer; import java.util.Observable; import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JTextField; import javax.swing.border.Border; import javax.swing.border.TitledBorder; public class Controller_account implements ActionListener { private Model model_SYC; private IHM_account view_account; public Controller_account(Model aModel_SYC, IHM_account aView_account) { this.model_SYC = aModel_SYC; this.view_account = aView_account; this.ControllerActionListenerForComponent(view_account.getContentPane()); } public void ControllerActionListenerForComponent(Container cont_temps) { if(cont_temps instanceof Container) { int i; int j =cont_temps.getComponentCount(); for(i =0; i< j ;i++) { Component cmp_temps = cont_temps.getComponents()[i]; //System.out.println(j); if(cmp_temps instanceof JButton) { ((JButton) cmp_temps).addActionListener(this); } if(cmp_temps instanceof JTextField ) { ((JTextField) cmp_temps).addActionListener(this); } if(cmp_temps instanceof JPasswordField ) { ((JPasswordField) cmp_temps).addActionListener(this); } if(cmp_temps instanceof JComboBox) { ControllerActionListenerForComponent((JComboBox<String>) cmp_temps); } if(cmp_temps instanceof Container) { ControllerActionListenerForComponent((Container) cmp_temps); } } } } @Override public void actionPerformed(ActionEvent e) { String login = this.view_account.getTxt_Login().getText(); String pwd = new String(this.view_account.getTxt_Password().getPassword()); if(e.getSource()==this.view_account.getjBt_Account()) { if(login.isEmpty() || pwd.isEmpty() || this.view_account.getTxt_PasswordBis().getPassword().length == 0) { JOptionPane.showMessageDialog (this.view_account,"Renseignez les champs pour vous connecter","SYC message",2); return; } if(!pwd.equals(new String(this.view_account.getTxt_PasswordBis().getPassword()))) { JOptionPane.showMessageDialog (this.view_account,"Les mots de passes ne correspondent pas","SYC message",2); return; } if(pwd.length() < 6) { JOptionPane.showMessageDialog (this.view_account,"Le mot de passe doit contenir au moins 6 caract�res","SYC message",2); return; } if(!Connexion.CheckLogin(login)) { JOptionPane.showMessageDialog (this.view_account,"Login existant","SYC message",2); return; } if(Connexion.CreateIdentifiant(login,pwd)) { model_SYC.init(); model_SYC.setCurrentConfFile(Connexion.fileConf); model_SYC.setDisplay_drives(true); } else JOptionPane.showMessageDialog (this.view_account,"Une erreur est intervenue. Contactez l'administrateur.","SYC message",2); } if(e.getSource()==this.view_account.getjBt_Cancel()) { //Back to IHM_home model_SYC.init(); model_SYC.setDisplay_home(true); } } }