Clean Code B (UI)

This commit is contained in:
basti 2020-12-07 20:04:58 +01:00
parent 14b5565e13
commit 70be95697c
3 changed files with 154 additions and 105 deletions

View file

@ -33,7 +33,7 @@ public class ListUI extends JFrame implements Runnable{
/** /**
* Launch the application. * Run
*/ */
public void run() { public void run() {
@ -48,44 +48,30 @@ public class ListUI extends JFrame implements Runnable{
} }
public void ajouterNomListe(DefaultTableModel dtm, ArrayList<String> test) {
for (String t : test) {
dtm.addRow(new Object[] {t});
}
}
/** /**
* Create the frame. * Constructeur
*/ */
public ListUI() { public ListUI() {
setTitle(GestionnaireNom.instance().getId()); // Titre
setTitle("List : " + GestionnaireNom.instance().getId());
// Operation par défaut
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Dimension
setBounds(100, 100, 450, 300); setBounds(100, 100, 450, 300);
// JPanel
contentPane = new JPanel(); contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane); setContentPane(contentPane);
contentPane.setLayout(null); 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<TypeListeUtilisateur> listeUtilisateur = GestionnaireListeUtilisateur.instance().getListeUtilisateur(); ArrayList<TypeListeUtilisateur> listeUtilisateur = GestionnaireListeUtilisateur.instance().getListeUtilisateur();
ArrayList<String> liste = new ArrayList<String>(); ArrayList<String> liste = new ArrayList<String>();
for (int i=0; i< listeUtilisateur.size(); i++) { 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); scrollPane.setBounds(67, 23, 303, 158);
contentPane.add(scrollPane); contentPane.add(scrollPane);
//JTable
table = new JTable(); table = new JTable();
scrollPane.setViewportView(table); 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"); int row = table.getSelectedRow();
renameButton.addActionListener(new ActionListener() { int col = table.getSelectedColumn();
public void actionPerformed(ActionEvent arg0) {
Thread t = new Thread(new NomUI()); try{
t.start(); String nom = (String) table.getValueAt(row, col);
dispose();
} gestionnaireClavardage gc = gestionnaireClavardage.instance();
}); gc.createSession(nom);
renameButton.setBounds(97, 207, 89, 23);
contentPane.add(renameButton); }
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<String> test) {
for (String t : test) {
dtm.addRow(new Object[] {t});
}
} }
} }

View file

@ -27,6 +27,10 @@ import java.awt.event.MouseEvent;
import java.awt.event.KeyAdapter; import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent; import java.awt.event.KeyEvent;
public class Login_RegisterUI extends JFrame implements Runnable{ public class Login_RegisterUI extends JFrame implements Runnable{
private static final long serialVersionUID = 42L; private static final long serialVersionUID = 42L;
@ -35,27 +39,13 @@ public class Login_RegisterUI extends JFrame implements Runnable{
private JTextField idField; private JTextField idField;
private JTextField passwordField; 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() { public void run() {
try { 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(){ public Login_RegisterUI(){
//titre
setTitle("Login"); setTitle("Login");
//opération par défaut
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//dimension
setBounds(100, 100, 450, 300); setBounds(100, 100, 450, 300);
//ContentPane
contentPane = new JPanel(); contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane); setContentPane(contentPane);
contentPane.setLayout(null); contentPane.setLayout(null);
//idLabel
JLabel idLabel = new JLabel("Id"); JLabel idLabel = new JLabel("Id");
idLabel.setHorizontalAlignment(SwingConstants.CENTER); idLabel.setHorizontalAlignment(SwingConstants.CENTER);
idLabel.setBounds(39, 47, 79, 32); idLabel.setBounds(39, 47, 79, 32);
contentPane.add(idLabel); contentPane.add(idLabel);
//passwordLabel
JLabel passwordLabel = new JLabel("Password"); JLabel passwordLabel = new JLabel("Password");
passwordLabel.setHorizontalAlignment(SwingConstants.CENTER); passwordLabel.setHorizontalAlignment(SwingConstants.CENTER);
passwordLabel.setBounds(39, 93, 79, 25); passwordLabel.setBounds(39, 93, 79, 25);
contentPane.add(passwordLabel); contentPane.add(passwordLabel);
//idField
idField = new JTextField(); idField = new JTextField();
idField.addKeyListener(new KeyAdapter() { idField.addKeyListener(new KeyAdapter() { //Presser Entrer
@Override @Override
public void keyPressed(KeyEvent e) { public void keyPressed(KeyEvent e) {
if (e.getExtendedKeyCode() == KeyEvent.VK_ENTER) { if (e.getExtendedKeyCode() == KeyEvent.VK_ENTER) {
@ -134,8 +104,7 @@ public class Login_RegisterUI extends JFrame implements Runnable{
} }
}); });
//id field idField.addFocusListener(new FocusAdapter() { //Focus
idField.addFocusListener(new FocusAdapter() {
@Override @Override
public void focusGained(FocusEvent e) { public void focusGained(FocusEvent e) {
String s = idField.getText(); String s = idField.getText();
@ -151,13 +120,15 @@ public class Login_RegisterUI extends JFrame implements Runnable{
} }
} }
}); });
//idField (suite)
idField.setText("Id"); idField.setText("Id");
idField.setBounds(167, 53, 195, 20); idField.setBounds(167, 53, 195, 20);
contentPane.add(idField); contentPane.add(idField);
idField.setColumns(10); idField.setColumns(10);
//passwordField
passwordField = new JTextField(); passwordField = new JTextField();
passwordField.addKeyListener(new KeyAdapter() { passwordField.addKeyListener(new KeyAdapter() { //Presser Entrer
@Override @Override
public void keyPressed(KeyEvent e) { public void keyPressed(KeyEvent e) {
if (e.getExtendedKeyCode() == KeyEvent.VK_ENTER) { if (e.getExtendedKeyCode() == KeyEvent.VK_ENTER) {
@ -166,7 +137,7 @@ public class Login_RegisterUI extends JFrame implements Runnable{
} }
}); });
// Password field // Password field
passwordField.addFocusListener(new FocusAdapter() { passwordField.addFocusListener(new FocusAdapter() { //Focus
@Override @Override
public void focusGained(FocusEvent e) { public void focusGained(FocusEvent e) {
String s = passwordField.getText(); String s = passwordField.getText();
@ -182,6 +153,7 @@ public class Login_RegisterUI extends JFrame implements Runnable{
} }
} }
}); });
//passwordField (suite)
passwordField.setText("Password"); passwordField.setText("Password");
passwordField.setColumns(10); passwordField.setColumns(10);
passwordField.setBounds(167, 95, 195, 20); passwordField.setBounds(167, 95, 195, 20);
@ -191,16 +163,14 @@ public class Login_RegisterUI extends JFrame implements Runnable{
JButton loginButton = new JButton("Login"); JButton loginButton = new JButton("Login");
loginButton.addKeyListener(new KeyAdapter() { loginButton.addKeyListener(new KeyAdapter() {
@Override @Override
public void keyPressed(KeyEvent e) { public void keyPressed(KeyEvent e) { //Presser Entrer
if (e.getExtendedKeyCode() == KeyEvent.VK_ENTER) { if (e.getExtendedKeyCode() == KeyEvent.VK_ENTER) {
enter(); enter();
} }
} }
}); });
loginButton.setBorder(BorderFactory.createLineBorder(Color.black));
loginButton.setBorder(BorderFactory.createRaisedSoftBevelBorder());
loginButton.addMouseListener(new MouseAdapter() { loginButton.addMouseListener(new MouseAdapter() { // Souris
@Override @Override
public void mouseEntered(MouseEvent e) { public void mouseEntered(MouseEvent e) {
loginButton.setBorder(BorderFactory.createLoweredSoftBevelBorder()); loginButton.setBorder(BorderFactory.createLoweredSoftBevelBorder());
@ -210,14 +180,55 @@ public class Login_RegisterUI extends JFrame implements Runnable{
loginButton.setBorder(BorderFactory.createRaisedSoftBevelBorder()); loginButton.setBorder(BorderFactory.createRaisedSoftBevelBorder());
} }
}); });
loginButton.addActionListener(new ActionListener() { loginButton.addActionListener(new ActionListener() { //Appuyer
public void actionPerformed(ActionEvent arg0) { public void actionPerformed(ActionEvent arg0) {
enter(); enter();
} }
}); });
//Button Login (suite)
loginButton.setBounds(167, 162, 89, 23); loginButton.setBounds(167, 162, 89, 23);
contentPane.add(loginButton); 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);
}
} }
} }

View file

@ -27,7 +27,7 @@ public class NomUI extends JFrame implements Runnable{
/** /**
* Launch the application. * Run
*/ */
public void run() { public void run() {
try { try {
@ -50,32 +50,40 @@ public class NomUI extends JFrame implements Runnable{
} }
} }
/** /**
* Create the frame. * Constructeur
*/ */
public NomUI() { public NomUI() {
setAlwaysOnTop(true); //Titre
setTitle("Username"); setTitle("Username");
//Operation par defaut
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//dimennsion
setBounds(100, 100, 450, 300); setBounds(100, 100, 450, 300);
setAlwaysOnTop(true);
//Jpanel
contentPane = new JPanel(); contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane); setContentPane(contentPane);
contentPane.setLayout(null); contentPane.setLayout(null);
//usernameField
usernameField = new JTextField(); usernameField = new JTextField();
usernameField.addKeyListener(new KeyAdapter() { usernameField.addKeyListener(new KeyAdapter() {
@Override @Override
public void keyPressed(KeyEvent e) { public void keyPressed(KeyEvent e) { //Presser Entrer
if (e.getExtendedKeyCode() == KeyEvent.VK_ENTER) { if (e.getExtendedKeyCode() == KeyEvent.VK_ENTER) {
String nom = usernameField.getText(); 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()) ) ) { if( (GestionnaireNom.instance().getNom() != null) && (nom.isBlank() || nom.toLowerCase().equals(GestionnaireNom.instance().getNom().toLowerCase()) ) ) {
dispose(); dispose();
@ -84,7 +92,9 @@ public class NomUI extends JFrame implements Runnable{
} }
else { else {
//Sinon on essaye de prendre un nom
if (GestionnaireNom.instance().verifierDisponibiliteNom(nom) ) { if (GestionnaireNom.instance().verifierDisponibiliteNom(nom) ) {
//Celui-ci ne peut pas être "vide"
if (!nom.isBlank()) { if (!nom.isBlank()) {
GestionnaireNom.instance().nommer2(nom); //enlever le 2 à la fin //TODO GestionnaireNom.instance().nommer2(nom); //enlever le 2 à la fin //TODO
dispose(); dispose();
@ -105,7 +115,7 @@ public class NomUI extends JFrame implements Runnable{
} }
}); });
usernameField.addFocusListener(new FocusAdapter() { usernameField.addFocusListener(new FocusAdapter() { //Focus
@Override @Override
public void focusGained(FocusEvent e) { public void focusGained(FocusEvent e) {
String s = usernameField.getText(); String s = usernameField.getText();
@ -114,12 +124,14 @@ public class NomUI extends JFrame implements Runnable{
} }
} }
}); });
// UsernameField (suite)
usernameField.setText("Username"); usernameField.setText("Username");
usernameField.setBounds(109, 90, 206, 54); usernameField.setBounds(109, 90, 206, 54);
contentPane.add(usernameField); contentPane.add(usernameField);
usernameField.setColumns(10); usernameField.setColumns(10);
nameLabel = new JLabel(""); // nameLabel
nameLabel = new JLabel("Choose a username");
nameLabel.setBounds(109, 149, 206, 31); nameLabel.setBounds(109, 149, 206, 31);
contentPane.add(nameLabel); contentPane.add(nameLabel);
} }