package syc.mvc.controller; import java.awt.Component; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JOptionPane; import javax.swing.JPasswordField; import javax.swing.JTextField; import syc.mvc.model.Connexion; import syc.mvc.model.Model; import syc.mvc.view.IHM_home; public class Controller_home implements ActionListener { private Model model_SYC; private IHM_home view_home; public Controller_home(Model aModel_SYC, IHM_home aView_home) { this.model_SYC = aModel_SYC; this.view_home = aView_home; this.ControllerActionListenerForComponent(view_home.getContentPane()); } @SuppressWarnings("unchecked") 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) { if(e.getSource()==this.view_home.getjBt_Exit()) { //Exit application this.view_home.dispose(); } if(e.getSource()==this.view_home.getjBt_Account()) { //go to IHM_account model_SYC.init(); model_SYC.setDisplay_account(true); //test if(view_home.getjLab_Login().getText().equals(model_SYC.gettestText())) { //model_SYC.settestText("Youpi"); //view_home.getjLab_Login().setText(model_SYC.gettestText()); } else { //view_home.getjLab_Login().setText(model_SYC.gettestText()); } } if(e.getSource()==this.view_home.getjBt_Connexion()) { if(this.view_home.getTxt_Login().getText().isEmpty() || this.view_home.getTxt_Password().getText().isEmpty()){ JOptionPane.showMessageDialog (this.view_home,"Renseignez les champs pour vous connecter","SYC message",1);//1:exclam,1:exclamTriangle,3:interro return; } //Connection and go to IHM_drives if(Connexion.Exist(this.view_home.getTxt_Login().getText(), this.view_home.getTxt_Password().getText()))//pr linstant { model_SYC.init(); model_SYC.setCurrentConfFile(Connexion.fileConf); model_SYC.setDisplay_drives(true); } else JOptionPane.showMessageDialog (this.view_home,"Identifiant ou mot de passe incorrect.","SYC message",1); } } }