Singleton juste (cette fois)
This commit is contained in:
parent
dbe687ea17
commit
1d6a632017
6 changed files with 217 additions and 73 deletions
24
Projet_POO/src/defaut/Main.java
Normal file
24
Projet_POO/src/defaut/Main.java
Normal file
|
@ -0,0 +1,24 @@
|
|||
package defaut;
|
||||
|
||||
import liste.GestionnaireListeUtilisateur;
|
||||
import ui.Login_RegisterUI;
|
||||
|
||||
|
||||
|
||||
public class Main {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
GestionnaireListeUtilisateur.instance().ecoute();
|
||||
GestionnaireListeUtilisateur.instance().envoie("add$$$77$$$Moi$$$ip");
|
||||
|
||||
|
||||
|
||||
Thread t = new Thread(new Login_RegisterUI());//gestionnaireListeUtilisateur, gestionnaireNom));
|
||||
t.start();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -24,7 +24,6 @@ public class TraitementCmdListe implements Runnable{
|
|||
|
||||
public void run() {
|
||||
try {
|
||||
GestionnaireListeUtilisateur gestionnaireListeUtilisateur = new GestionnaireListeUtilisateur();
|
||||
|
||||
String ordre = cmd[0];
|
||||
String id = cmd[1];
|
||||
|
@ -39,7 +38,7 @@ public class TraitementCmdListe implements Runnable{
|
|||
System.out.println("bloqué");
|
||||
|
||||
if (ordre.equals("delete")) {
|
||||
gestionnaireListeUtilisateur.setListeUtilisateur(supprimeUtilisateur(gestionnaireListeUtilisateur.getListeUtilisateur(), id));
|
||||
GestionnaireListeUtilisateur.instance().setListeUtilisateur(supprimeUtilisateur(GestionnaireListeUtilisateur.instance().getListeUtilisateur(), id));
|
||||
}
|
||||
|
||||
if (ordre.equals("add")) {
|
||||
|
@ -47,9 +46,10 @@ public class TraitementCmdListe implements Runnable{
|
|||
//System.out.println("NULLLLLLLL");
|
||||
//on ne fait rien (utilisateur non encore configuré)
|
||||
} else {
|
||||
gestionnaireListeUtilisateur.setListeUtilisateur(ajouteUtilisateur(gestionnaireListeUtilisateur.getListeUtilisateur(), id, nom, ip));
|
||||
for(int i=0; i<gestionnaireListeUtilisateur.getListeUtilisateur().size(); i++) {
|
||||
System.out.println("ici : " + gestionnaireListeUtilisateur.getListeUtilisateur().get(i).nom);
|
||||
GestionnaireListeUtilisateur.instance().setListeUtilisateur(ajouteUtilisateur(GestionnaireListeUtilisateur.instance().getListeUtilisateur(), id, nom, ip));
|
||||
for(int i=0; i<GestionnaireListeUtilisateur.instance().getListeUtilisateur().size(); i++) {
|
||||
System.out.println("ici : " + GestionnaireListeUtilisateur.instance().getListeUtilisateur().get(i).nom + " "
|
||||
+ GestionnaireListeUtilisateur.instance().getListeUtilisateur().get(i).id );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -70,9 +70,8 @@ public class TraitementCmdListe implements Runnable{
|
|||
|
||||
//envoie la liste courrante d'utilisateur
|
||||
public void envoyerNom() { //localHost TODO (gerer IP, unhandle exception ...)
|
||||
GestionnaireNom gestionnaireNom = new GestionnaireNom();
|
||||
UdpBroadcastClient client = new UdpBroadcastClient(ConstanteListeUtilisateur.NUM_PORT_SERVER,
|
||||
"add"+ "$$$" + gestionnaireNom.getId() + "$$$" + gestionnaireNom.getNom() + "$$$" + "LocalHost");
|
||||
"add"+ "$$$" + GestionnaireNom.instance().getId() + "$$$" + GestionnaireNom.instance().getNom() + "$$$" + "LocalHost");
|
||||
Thread t = new Thread(client);
|
||||
t.start();
|
||||
}
|
||||
|
|
|
@ -64,7 +64,7 @@ public class GestionnaireNom{
|
|||
public String idFromNom(String nom) {
|
||||
GestionnaireListeUtilisateur gestionnaireListeUtilisateur = new GestionnaireListeUtilisateur();
|
||||
for (int i=0; i<gestionnaireListeUtilisateur.getListeUtilisateur().size(); i++) {
|
||||
if (gestionnaireListeUtilisateur.getListeUtilisateur().get(i).nom.equals(nom)) {
|
||||
if (gestionnaireListeUtilisateur.getListeUtilisateur().get(i).nom.toLowerCase().equals(nom.toLowerCase())) {
|
||||
return gestionnaireListeUtilisateur.getListeUtilisateur().get(i).id;
|
||||
}
|
||||
}
|
||||
|
@ -77,9 +77,8 @@ public class GestionnaireNom{
|
|||
|
||||
// renvoie 1 si le nom est disponible
|
||||
private boolean verifierDisponibiliteNom(String nom) {
|
||||
GestionnaireListeUtilisateur gestionnaireListeUtilisateur = new GestionnaireListeUtilisateur();
|
||||
for (int i=0; i<gestionnaireListeUtilisateur.getListeUtilisateur().size(); i++) {
|
||||
if (gestionnaireListeUtilisateur.getListeUtilisateur().get(i).nom.equals(nom)) {
|
||||
for (int i=0; i<GestionnaireListeUtilisateur.instance().getListeUtilisateur().size(); i++) {
|
||||
if (GestionnaireListeUtilisateur.instance().getListeUtilisateur().get(i).nom.toLowerCase().equals(nom.toLowerCase())) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@ import nom.GestionnaireNom;
|
|||
import javax.swing.JButton;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.ActionEvent;
|
||||
import javax.swing.JScrollPane;
|
||||
|
||||
public class ListUI extends JFrame implements Runnable{
|
||||
|
||||
|
@ -40,7 +41,7 @@ public class ListUI extends JFrame implements Runnable{
|
|||
}
|
||||
|
||||
|
||||
public void add(DefaultTableModel dtm, String[] test) {
|
||||
public void ajouterNomListe(DefaultTableModel dtm, String[] test) {
|
||||
for (String t : test) {
|
||||
dtm.addRow(new Object[] {t});
|
||||
}
|
||||
|
@ -52,6 +53,7 @@ public class ListUI extends JFrame implements Runnable{
|
|||
* Create the frame.
|
||||
*/
|
||||
public ListUI() {
|
||||
setTitle("List");
|
||||
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||
setBounds(100, 100, 450, 300);
|
||||
contentPane = new JPanel();
|
||||
|
@ -59,12 +61,6 @@ public class ListUI extends JFrame implements Runnable{
|
|||
setContentPane(contentPane);
|
||||
contentPane.setLayout(null);
|
||||
|
||||
table = new JTable();
|
||||
|
||||
table.setModel(dtm);
|
||||
table.setBounds(120, 67, 203, 134);
|
||||
contentPane.add(table);
|
||||
|
||||
JButton btnNewButton = new JButton("Connect");
|
||||
btnNewButton.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
|
@ -73,7 +69,7 @@ public class ListUI extends JFrame implements Runnable{
|
|||
try{
|
||||
String nom = (String) table.getValueAt(row, col);
|
||||
System.out.println(nom);
|
||||
|
||||
ajouterNomListe(dtm, test);
|
||||
//String id = GestionnaireNom.idFromNom(nom);
|
||||
|
||||
}
|
||||
|
@ -81,10 +77,18 @@ public class ListUI extends JFrame implements Runnable{
|
|||
|
||||
}
|
||||
});
|
||||
btnNewButton.setBounds(170, 22, 89, 23);
|
||||
btnNewButton.setBounds(171, 206, 89, 23);
|
||||
contentPane.add(btnNewButton);
|
||||
|
||||
add(dtm, test);
|
||||
ajouterNomListe(dtm, test);
|
||||
|
||||
JScrollPane scrollPane = new JScrollPane();
|
||||
scrollPane.setBounds(67, 23, 303, 158);
|
||||
contentPane.add(scrollPane);
|
||||
|
||||
table = new JTable();
|
||||
scrollPane.setViewportView(table);
|
||||
|
||||
table.setModel(dtm);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package ui;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Color;
|
||||
import java.awt.EventQueue;
|
||||
|
||||
|
@ -8,6 +7,8 @@ import javax.swing.JFrame;
|
|||
import javax.swing.JPanel;
|
||||
import javax.swing.border.EmptyBorder;
|
||||
|
||||
import liste.GestionnaireListeUtilisateur;
|
||||
import liste.TypeListeUtilisateur;
|
||||
import nom.GestionnaireNom;
|
||||
|
||||
import javax.swing.JLabel;
|
||||
|
@ -25,13 +26,12 @@ import java.awt.event.MouseEvent;
|
|||
import java.awt.event.KeyAdapter;
|
||||
import java.awt.event.KeyEvent;
|
||||
|
||||
public class Login_RegisterUI extends JFrame {
|
||||
public class Login_RegisterUI extends JFrame implements Runnable{
|
||||
|
||||
private JPanel contentPane;
|
||||
private JTextField idField;
|
||||
private JTextField usernameField;
|
||||
|
||||
|
||||
private JTextField passwordField;
|
||||
|
||||
/*
|
||||
//Instance du gestionnaire de liste
|
||||
static private Login_RegisterUI uniqueInstance = null;
|
||||
|
@ -52,43 +52,54 @@ public class Login_RegisterUI extends JFrame {
|
|||
*/
|
||||
|
||||
|
||||
public void enter() {
|
||||
if( usernameField.getText().equals("admin") || idField.getText().equals("0") ) { //remplaver || par && -> flemme debug
|
||||
|
||||
public void run() {
|
||||
try {
|
||||
|
||||
//ListUI liste = new ListUI();
|
||||
//liste.setLocationRelativeTo(null);
|
||||
//liste.setVisible(true);
|
||||
dispose();
|
||||
Thread ts = new Thread(new ListUI()); //inutile avce le setVisible(true)
|
||||
ts.start();
|
||||
}
|
||||
else {
|
||||
JOptionPane.showMessageDialog(null, "Invalid Username / Password", "Login error", 2);
|
||||
Login_RegisterUI frame = new Login_RegisterUI();
|
||||
frame.setVisible(true);
|
||||
|
||||
//center the frame
|
||||
frame.setLocationRelativeTo(null);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
EventQueue.invokeLater(new Runnable() {
|
||||
public void run() {
|
||||
try {
|
||||
Login_RegisterUI frame = new Login_RegisterUI();
|
||||
frame.setVisible(true);
|
||||
|
||||
//center the frame
|
||||
frame.setLocationRelativeTo(null);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void enter() {
|
||||
String id = idField.getText();
|
||||
String pwd = passwordField.getText();
|
||||
|
||||
if( pwd.equals("admin") || id.equals("0") ) { //remplaver || par && -> flemme debug
|
||||
|
||||
GestionnaireNom.instance().setId(id);
|
||||
|
||||
//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.
|
||||
*/
|
||||
public Login_RegisterUI() {
|
||||
public Login_RegisterUI(){
|
||||
|
||||
setTitle("Login");
|
||||
|
||||
|
||||
|
@ -104,10 +115,10 @@ public class Login_RegisterUI extends JFrame {
|
|||
idLabel.setBounds(39, 47, 79, 32);
|
||||
contentPane.add(idLabel);
|
||||
|
||||
JLabel usernameLabel = new JLabel("Username");
|
||||
usernameLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
usernameLabel.setBounds(39, 93, 79, 25);
|
||||
contentPane.add(usernameLabel);
|
||||
JLabel passwordLabel = new JLabel("Password");
|
||||
passwordLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
passwordLabel.setBounds(39, 93, 79, 25);
|
||||
contentPane.add(passwordLabel);
|
||||
|
||||
idField = new JTextField();
|
||||
idField.addKeyListener(new KeyAdapter() {
|
||||
|
@ -141,8 +152,8 @@ public class Login_RegisterUI extends JFrame {
|
|||
contentPane.add(idField);
|
||||
idField.setColumns(10);
|
||||
|
||||
usernameField = new JTextField();
|
||||
usernameField.addKeyListener(new KeyAdapter() {
|
||||
passwordField = new JTextField();
|
||||
passwordField.addKeyListener(new KeyAdapter() {
|
||||
@Override
|
||||
public void keyPressed(KeyEvent e) {
|
||||
if (e.getExtendedKeyCode() == KeyEvent.VK_ENTER) {
|
||||
|
@ -150,27 +161,27 @@ public class Login_RegisterUI extends JFrame {
|
|||
}
|
||||
}
|
||||
});
|
||||
// Username field
|
||||
usernameField.addFocusListener(new FocusAdapter() {
|
||||
// Password field
|
||||
passwordField.addFocusListener(new FocusAdapter() {
|
||||
@Override
|
||||
public void focusGained(FocusEvent e) {
|
||||
String s = usernameField.getText();
|
||||
if ( s.equals("Username") ) {
|
||||
usernameField.setText("");
|
||||
String s = passwordField.getText();
|
||||
if ( s.equals("Password") ) {
|
||||
passwordField.setText("");
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void focusLost(FocusEvent e) {
|
||||
String s = usernameField.getText();
|
||||
String s = passwordField.getText();
|
||||
if ( s.equals("") ) {
|
||||
usernameField.setText("Username");
|
||||
passwordField.setText("Password");
|
||||
}
|
||||
}
|
||||
});
|
||||
usernameField.setText("Username");
|
||||
usernameField.setColumns(10);
|
||||
usernameField.setBounds(167, 95, 195, 20);
|
||||
contentPane.add(usernameField);
|
||||
passwordField.setText("Password");
|
||||
passwordField.setColumns(10);
|
||||
passwordField.setBounds(167, 95, 195, 20);
|
||||
contentPane.add(passwordField);
|
||||
|
||||
//login Button
|
||||
JButton loginButton = new JButton("Login");
|
||||
|
|
107
Projet_POO/src/ui/NomUI.java
Normal file
107
Projet_POO/src/ui/NomUI.java
Normal file
|
@ -0,0 +1,107 @@
|
|||
package ui;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.EventQueue;
|
||||
import java.awt.Toolkit;
|
||||
import java.awt.Dimension;
|
||||
|
||||
import nom.GestionnaireNom;
|
||||
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.border.EmptyBorder;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.JLabel;
|
||||
import java.awt.event.FocusAdapter;
|
||||
import java.awt.event.FocusEvent;
|
||||
import java.awt.event.KeyAdapter;
|
||||
import java.awt.event.KeyEvent;
|
||||
|
||||
public class NomUI extends JFrame implements Runnable{
|
||||
|
||||
private JPanel contentPane;
|
||||
private JTextField usernameField;
|
||||
JLabel nameLabel;
|
||||
|
||||
|
||||
/**
|
||||
* Launch the application.
|
||||
*/
|
||||
public void run() {
|
||||
try {
|
||||
NomUI frame = new NomUI();
|
||||
|
||||
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
|
||||
int hauteur = screenSize.height * 2/5;
|
||||
int largeur = screenSize.width * 2/5;
|
||||
|
||||
frame.setSize(new Dimension(largeur, hauteur));
|
||||
frame.setLocationRelativeTo(null);
|
||||
|
||||
frame.setVisible(true);
|
||||
|
||||
|
||||
System.out.println( GestionnaireNom.instance().getId() );
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the frame.
|
||||
*/
|
||||
public NomUI() {
|
||||
|
||||
setAlwaysOnTop(true);
|
||||
setTitle("Username");
|
||||
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
|
||||
|
||||
|
||||
setBounds(100, 100, 450, 300);
|
||||
contentPane = new JPanel();
|
||||
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||
setContentPane(contentPane);
|
||||
contentPane.setLayout(null);
|
||||
|
||||
usernameField = new JTextField();
|
||||
usernameField.addKeyListener(new KeyAdapter() {
|
||||
@Override
|
||||
public void keyPressed(KeyEvent e) {
|
||||
|
||||
if (e.getExtendedKeyCode() == KeyEvent.VK_ENTER) {
|
||||
String nom = usernameField.getText();
|
||||
|
||||
if (GestionnaireNom.instance().nommer(nom)) {
|
||||
dispose();
|
||||
|
||||
Thread t = new Thread(new ListUI());
|
||||
t.start();
|
||||
}
|
||||
else {
|
||||
nameLabel.setText("Username already taken");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
usernameField.addFocusListener(new FocusAdapter() {
|
||||
@Override
|
||||
public void focusGained(FocusEvent e) {
|
||||
String s = usernameField.getText();
|
||||
if ( s.equals("Username") ) {
|
||||
usernameField.setText("");
|
||||
}
|
||||
}
|
||||
});
|
||||
usernameField.setText("Username");
|
||||
usernameField.setBounds(109, 90, 206, 54);
|
||||
contentPane.add(usernameField);
|
||||
usernameField.setColumns(10);
|
||||
|
||||
nameLabel = new JLabel("");
|
||||
nameLabel.setBounds(109, 149, 206, 31);
|
||||
contentPane.add(nameLabel);
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue