import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException; import java.sql.Array; import java.util.ArrayList; import java.util.Objects; import javax.swing.*; public class LoginConnection extends BFrame implements ActionListener { protected BInput inUser; protected BInput inPasswd; public LoginConnection(String title, int x, int y, int mode) throws IOException { super(title, x, y, mode); BImage logo = new BImage("src/assets/img/logo.png"); BLayout settings = new BLayout(); BLabel[] blank = { new BLabel(" "), new BLabel(" "), new BLabel(" ") }; settings.setPositionX(1); this.add(logo.getImage(), settings); settings.setPositionY(3); this.add(blank[0], settings); BLabel laUser = new BLabel("Utilisateur"); settings.setPositionY(4); this.add(laUser, settings); this.inUser = new BInput(300, 20); settings.setPositionY(5); this.add(inUser, settings); settings.setPositionY(6); this.add(blank[1], settings); BLabel laPasswd = new BLabel("Mot de passe"); settings.setPositionY(7); this.add(laPasswd, settings); this.inPasswd = new BInput(300, 20); settings.setPositionY(8); this.add(inPasswd, settings); settings.setPositionY(9); this.add(blank[2], settings); BButton login = new BButton("Connexion"); login.addActionListener(this); settings.setPositionY(10); this.add(login, settings); this.openBFrame(); this.refreshBFrame(); } @Override public void actionPerformed(ActionEvent e) { BDatabase init = new BDatabase(); String pass = inPasswd.getText(); String user = inUser.getText(); int grade = -1; boolean canConnect = false; if(init.fetchAll("SELECT utilisateur FROM Comptes WHERE utilisateur='" + user + "'").size() == 0) { JOptionPane.showMessageDialog(this, "Utilisateur introuvable."); } else { String username = init.fetchAll("SELECT utilisateur FROM Comptes WHERE utilisateur='" + user + "'").get(0); String passwd = init.fetchAll("SELECT pass FROM Comptes WHERE utilisateur='" + user + "'").get(0); if(!Objects.equals(passwd, pass)) { JOptionPane.showMessageDialog(this, "Mot de passe incorrect."); } else { canConnect = true; grade = Integer.parseInt( init.fetchAll( "SELECT idGrade FROM Comptes WHERE utilisateur='" + user + "'").get(0) ); init.current_user = Integer.parseInt( init.fetchAll( "SELECT idCompte FROM Comptes WHERE utilisateur='" + user + "'").get(0) ); } } if(canConnect) { String firstname = init.fetchAll( "SELECT nom FROM Membres WHERE idCompte=" + init.current_user ).get(0); String lastname = init.fetchAll( "SELECT prenom FROM Membres WHERE idCompte=" + init.current_user ).get(0); Home home = new Home(init, grade, firstname, lastname); } else{ System.out.println("Erreur."); } } }