diff --git a/Projet_POO/src/ui/ListUI.java b/Projet_POO/src/ui/ListUI.java index 2357110..c3bad35 100644 --- a/Projet_POO/src/ui/ListUI.java +++ b/Projet_POO/src/ui/ListUI.java @@ -33,7 +33,7 @@ public class ListUI extends JFrame implements Runnable{ /** - * Launch the application. + * Run */ public void run() { @@ -48,44 +48,30 @@ public class ListUI extends JFrame implements Runnable{ } - public void ajouterNomListe(DefaultTableModel dtm, ArrayList test) { - for (String t : test) { - dtm.addRow(new Object[] {t}); - } - - } - /** - * Create the frame. + * Constructeur */ + public ListUI() { - setTitle(GestionnaireNom.instance().getId()); + // Titre + setTitle("List : " + GestionnaireNom.instance().getId()); + + // Operation par défaut setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + //Dimension setBounds(100, 100, 450, 300); + + // JPanel contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); - JButton connectButton = new JButton("Connect"); - connectButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - int row = table.getSelectedRow(); - int col = table.getSelectedColumn(); - try{ - String nom = (String) table.getValueAt(row, col); - gestionnaireClavardage gc = gestionnaireClavardage.instance(); - gc.createSession(nom); - - } - catch (Exception e) {} - - } - }); - connectButton.setBounds(261, 207, 89, 23); - contentPane.add(connectButton); + //JScrollPane + //On extrait les nom de la liste des Utilisateurs ArrayList listeUtilisateur = GestionnaireListeUtilisateur.instance().getListeUtilisateur(); ArrayList liste = new ArrayList(); for (int i=0; i< listeUtilisateur.size(); i++) { @@ -98,20 +84,60 @@ public class ListUI extends JFrame implements Runnable{ scrollPane.setBounds(67, 23, 303, 158); contentPane.add(scrollPane); + //JTable table = new JTable(); scrollPane.setViewportView(table); - table.setModel(dtm); + table.setModel(dtm); + + // Bouton Rename + JButton renameButton = new JButton("Rename"); + renameButton.addActionListener(new ActionListener() { // Appuyer + public void actionPerformed(ActionEvent arg0) { + Thread t = new Thread(new NomUI()); + t.start(); + dispose(); + } + }); + // Bouton Rename (suite) + renameButton.setBounds(97, 207, 89, 23); + contentPane.add(renameButton); + + // Bouton Connect + JButton connectButton = new JButton("Connect"); + connectButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { //Appuyer - JButton renameButton = new JButton("Rename"); - renameButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - Thread t = new Thread(new NomUI()); - t.start(); - dispose(); - } - }); - renameButton.setBounds(97, 207, 89, 23); - contentPane.add(renameButton); + int row = table.getSelectedRow(); + int col = table.getSelectedColumn(); + + try{ + String nom = (String) table.getValueAt(row, col); + + gestionnaireClavardage gc = gestionnaireClavardage.instance(); + gc.createSession(nom); + + } + catch (Exception e) {} + + } + }); + // Buton Connect (suite) + connectButton.setBounds(261, 207, 89, 23); + contentPane.add(connectButton); + } + + + + /** + * Méthode + */ + + // à améliorer ... (suppression ?) + public void ajouterNomListe(DefaultTableModel dtm, ArrayList test) { + for (String t : test) { + dtm.addRow(new Object[] {t}); + } + } } diff --git a/Projet_POO/src/ui/Login_RegisterUI.java b/Projet_POO/src/ui/Login_RegisterUI.java index ae68eba..e794f84 100644 --- a/Projet_POO/src/ui/Login_RegisterUI.java +++ b/Projet_POO/src/ui/Login_RegisterUI.java @@ -27,6 +27,10 @@ import java.awt.event.MouseEvent; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; + + + + public class Login_RegisterUI extends JFrame implements Runnable{ private static final long serialVersionUID = 42L; @@ -35,27 +39,13 @@ public class Login_RegisterUI extends JFrame implements Runnable{ private JTextField idField; private JTextField passwordField; -/* - //Instance du gestionnaire de liste - static private Login_RegisterUI uniqueInstance = null; - - //Renvoie le gestionnaire de liste, ou le créé s'il n'existe pas encore - static public Login_RegisterUI instance() { - //Si l'instance n'existe pas, on la créé - if (Login_RegisterUI.uniqueInstance == null) { - Login_RegisterUI.uniqueInstance = new Login_RegisterUI(); - } - - return Login_RegisterUI.uniqueInstance; - } - */ + + /** - * Launch the application. + * Run */ - - public void run() { try { @@ -71,61 +61,41 @@ public class Login_RegisterUI extends JFrame implements Runnable{ - public void enter() { - String id = idField.getText(); - String pwd = passwordField.getText(); - - if( pwd.equals("admin") || id.equals("0") ) { //remplaver || par && -> facilite debug - - GestionnaireNom.instance().setId(id); - gestionnaireClavardage.instance(); //Init(gestionnaireClavardage) - - //NomUI nom = new NomUI(); - //nom.setLocationRelativeTo(null); - //nom.setVisible(true); - - dispose(); - - Thread t = new Thread(new NomUI()); - t.start(); - - - - } - else { - JOptionPane.showMessageDialog(null, "Invalid Id / Password", "Login error", 2); - - } - } - - /** - * Create the frame. + * Constructeur */ + public Login_RegisterUI(){ - + //titre setTitle("Login"); - + //opération par défaut setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + //dimension setBounds(100, 100, 450, 300); + + //ContentPane contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); + //idLabel JLabel idLabel = new JLabel("Id"); idLabel.setHorizontalAlignment(SwingConstants.CENTER); idLabel.setBounds(39, 47, 79, 32); contentPane.add(idLabel); + //passwordLabel JLabel passwordLabel = new JLabel("Password"); passwordLabel.setHorizontalAlignment(SwingConstants.CENTER); passwordLabel.setBounds(39, 93, 79, 25); contentPane.add(passwordLabel); + //idField idField = new JTextField(); - idField.addKeyListener(new KeyAdapter() { + idField.addKeyListener(new KeyAdapter() { //Presser Entrer @Override public void keyPressed(KeyEvent e) { if (e.getExtendedKeyCode() == KeyEvent.VK_ENTER) { @@ -134,8 +104,7 @@ public class Login_RegisterUI extends JFrame implements Runnable{ } }); - //id field - idField.addFocusListener(new FocusAdapter() { + idField.addFocusListener(new FocusAdapter() { //Focus @Override public void focusGained(FocusEvent e) { String s = idField.getText(); @@ -151,13 +120,15 @@ public class Login_RegisterUI extends JFrame implements Runnable{ } } }); + //idField (suite) idField.setText("Id"); idField.setBounds(167, 53, 195, 20); contentPane.add(idField); idField.setColumns(10); + //passwordField passwordField = new JTextField(); - passwordField.addKeyListener(new KeyAdapter() { + passwordField.addKeyListener(new KeyAdapter() { //Presser Entrer @Override public void keyPressed(KeyEvent e) { if (e.getExtendedKeyCode() == KeyEvent.VK_ENTER) { @@ -166,7 +137,7 @@ public class Login_RegisterUI extends JFrame implements Runnable{ } }); // Password field - passwordField.addFocusListener(new FocusAdapter() { + passwordField.addFocusListener(new FocusAdapter() { //Focus @Override public void focusGained(FocusEvent e) { String s = passwordField.getText(); @@ -182,6 +153,7 @@ public class Login_RegisterUI extends JFrame implements Runnable{ } } }); + //passwordField (suite) passwordField.setText("Password"); passwordField.setColumns(10); passwordField.setBounds(167, 95, 195, 20); @@ -191,16 +163,14 @@ public class Login_RegisterUI extends JFrame implements Runnable{ JButton loginButton = new JButton("Login"); loginButton.addKeyListener(new KeyAdapter() { @Override - public void keyPressed(KeyEvent e) { + public void keyPressed(KeyEvent e) { //Presser Entrer if (e.getExtendedKeyCode() == KeyEvent.VK_ENTER) { enter(); } } }); - loginButton.setBorder(BorderFactory.createLineBorder(Color.black)); - loginButton.setBorder(BorderFactory.createRaisedSoftBevelBorder()); - loginButton.addMouseListener(new MouseAdapter() { + loginButton.addMouseListener(new MouseAdapter() { // Souris @Override public void mouseEntered(MouseEvent e) { loginButton.setBorder(BorderFactory.createLoweredSoftBevelBorder()); @@ -210,14 +180,55 @@ public class Login_RegisterUI extends JFrame implements Runnable{ loginButton.setBorder(BorderFactory.createRaisedSoftBevelBorder()); } }); - loginButton.addActionListener(new ActionListener() { + loginButton.addActionListener(new ActionListener() { //Appuyer public void actionPerformed(ActionEvent arg0) { enter(); } }); + //Button Login (suite) loginButton.setBounds(167, 162, 89, 23); contentPane.add(loginButton); + loginButton.setBorder(BorderFactory.createLineBorder(Color.black)); + loginButton.setBorder(BorderFactory.createRaisedSoftBevelBorder()); + } + + + + + + /** + * Méthode + */ + + // Teste la validité des champs. + public void enter() { + String id = idField.getText(); + String pwd = passwordField.getText(); + + //debug --> utiliser pwd : admin et n'importe quel ID pour créer différents user (attention chaque user doit avoir un server (main)) + if( pwd.equals("admin") || id.equals("0") ) { //remplaver || par && -> facilite debug //TODO ( à remplacer par BDD après ) + + GestionnaireNom.instance().setId(id); + gestionnaireClavardage.instance(); //Init(gestionnaireClavardage) + + dispose(); + + //1er Méthode sans Thread + //NomUI nom = new NomUI(); + //nom.setLocationRelativeTo(null); + //nom.setVisible(true); + + + //2eme Méthode avec Thread + Thread t = new Thread(new NomUI()); + t.start(); + + } + else { + JOptionPane.showMessageDialog(null, "Invalid Id / Password", "Login error", 2); + + } } } diff --git a/Projet_POO/src/ui/NomUI.java b/Projet_POO/src/ui/NomUI.java index 6452cfc..8550274 100644 --- a/Projet_POO/src/ui/NomUI.java +++ b/Projet_POO/src/ui/NomUI.java @@ -27,7 +27,7 @@ public class NomUI extends JFrame implements Runnable{ /** - * Launch the application. + * Run */ public void run() { try { @@ -50,32 +50,40 @@ public class NomUI extends JFrame implements Runnable{ } } + + /** - * Create the frame. + * Constructeur */ + public NomUI() { - setAlwaysOnTop(true); + //Titre setTitle("Username"); + + //Operation par defaut setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - - + //dimennsion setBounds(100, 100, 450, 300); + setAlwaysOnTop(true); + + //Jpanel contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); + //usernameField usernameField = new JTextField(); usernameField.addKeyListener(new KeyAdapter() { @Override - public void keyPressed(KeyEvent e) { + public void keyPressed(KeyEvent e) { //Presser Entrer if (e.getExtendedKeyCode() == KeyEvent.VK_ENTER) { String nom = usernameField.getText(); - + // Si l'on se renomme on peut annuler en entrant rien ou Reprendre le même Username if( (GestionnaireNom.instance().getNom() != null) && (nom.isBlank() || nom.toLowerCase().equals(GestionnaireNom.instance().getNom().toLowerCase()) ) ) { dispose(); @@ -84,7 +92,9 @@ public class NomUI extends JFrame implements Runnable{ } else { + //Sinon on essaye de prendre un nom if (GestionnaireNom.instance().verifierDisponibiliteNom(nom) ) { + //Celui-ci ne peut pas être "vide" if (!nom.isBlank()) { GestionnaireNom.instance().nommer2(nom); //enlever le 2 à la fin //TODO dispose(); @@ -105,7 +115,7 @@ public class NomUI extends JFrame implements Runnable{ } }); - usernameField.addFocusListener(new FocusAdapter() { + usernameField.addFocusListener(new FocusAdapter() { //Focus @Override public void focusGained(FocusEvent e) { String s = usernameField.getText(); @@ -114,12 +124,14 @@ public class NomUI extends JFrame implements Runnable{ } } }); + // UsernameField (suite) usernameField.setText("Username"); usernameField.setBounds(109, 90, 206, 54); contentPane.add(usernameField); usernameField.setColumns(10); - nameLabel = new JLabel(""); + // nameLabel + nameLabel = new JLabel("Choose a username"); nameLabel.setBounds(109, 149, 206, 31); contentPane.add(nameLabel); }