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() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
GestionnaireListeUtilisateur gestionnaireListeUtilisateur = new GestionnaireListeUtilisateur();
|
|
||||||
|
|
||||||
String ordre = cmd[0];
|
String ordre = cmd[0];
|
||||||
String id = cmd[1];
|
String id = cmd[1];
|
||||||
|
@ -39,7 +38,7 @@ public class TraitementCmdListe implements Runnable{
|
||||||
System.out.println("bloqué");
|
System.out.println("bloqué");
|
||||||
|
|
||||||
if (ordre.equals("delete")) {
|
if (ordre.equals("delete")) {
|
||||||
gestionnaireListeUtilisateur.setListeUtilisateur(supprimeUtilisateur(gestionnaireListeUtilisateur.getListeUtilisateur(), id));
|
GestionnaireListeUtilisateur.instance().setListeUtilisateur(supprimeUtilisateur(GestionnaireListeUtilisateur.instance().getListeUtilisateur(), id));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ordre.equals("add")) {
|
if (ordre.equals("add")) {
|
||||||
|
@ -47,9 +46,10 @@ public class TraitementCmdListe implements Runnable{
|
||||||
//System.out.println("NULLLLLLLL");
|
//System.out.println("NULLLLLLLL");
|
||||||
//on ne fait rien (utilisateur non encore configuré)
|
//on ne fait rien (utilisateur non encore configuré)
|
||||||
} else {
|
} else {
|
||||||
gestionnaireListeUtilisateur.setListeUtilisateur(ajouteUtilisateur(gestionnaireListeUtilisateur.getListeUtilisateur(), id, nom, ip));
|
GestionnaireListeUtilisateur.instance().setListeUtilisateur(ajouteUtilisateur(GestionnaireListeUtilisateur.instance().getListeUtilisateur(), id, nom, ip));
|
||||||
for(int i=0; i<gestionnaireListeUtilisateur.getListeUtilisateur().size(); i++) {
|
for(int i=0; i<GestionnaireListeUtilisateur.instance().getListeUtilisateur().size(); i++) {
|
||||||
System.out.println("ici : " + gestionnaireListeUtilisateur.getListeUtilisateur().get(i).nom);
|
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
|
//envoie la liste courrante d'utilisateur
|
||||||
public void envoyerNom() { //localHost TODO (gerer IP, unhandle exception ...)
|
public void envoyerNom() { //localHost TODO (gerer IP, unhandle exception ...)
|
||||||
GestionnaireNom gestionnaireNom = new GestionnaireNom();
|
|
||||||
UdpBroadcastClient client = new UdpBroadcastClient(ConstanteListeUtilisateur.NUM_PORT_SERVER,
|
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);
|
Thread t = new Thread(client);
|
||||||
t.start();
|
t.start();
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,7 +64,7 @@ public class GestionnaireNom{
|
||||||
public String idFromNom(String nom) {
|
public String idFromNom(String nom) {
|
||||||
GestionnaireListeUtilisateur gestionnaireListeUtilisateur = new GestionnaireListeUtilisateur();
|
GestionnaireListeUtilisateur gestionnaireListeUtilisateur = new GestionnaireListeUtilisateur();
|
||||||
for (int i=0; i<gestionnaireListeUtilisateur.getListeUtilisateur().size(); i++) {
|
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;
|
return gestionnaireListeUtilisateur.getListeUtilisateur().get(i).id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -77,9 +77,8 @@ public class GestionnaireNom{
|
||||||
|
|
||||||
// renvoie 1 si le nom est disponible
|
// renvoie 1 si le nom est disponible
|
||||||
private boolean verifierDisponibiliteNom(String nom) {
|
private boolean verifierDisponibiliteNom(String nom) {
|
||||||
GestionnaireListeUtilisateur gestionnaireListeUtilisateur = new GestionnaireListeUtilisateur();
|
for (int i=0; i<GestionnaireListeUtilisateur.instance().getListeUtilisateur().size(); i++) {
|
||||||
for (int i=0; i<gestionnaireListeUtilisateur.getListeUtilisateur().size(); i++) {
|
if (GestionnaireListeUtilisateur.instance().getListeUtilisateur().get(i).nom.toLowerCase().equals(nom.toLowerCase())) {
|
||||||
if (gestionnaireListeUtilisateur.getListeUtilisateur().get(i).nom.equals(nom)) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,7 @@ import nom.GestionnaireNom;
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
|
import javax.swing.JScrollPane;
|
||||||
|
|
||||||
public class ListUI extends JFrame implements Runnable{
|
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) {
|
for (String t : test) {
|
||||||
dtm.addRow(new Object[] {t});
|
dtm.addRow(new Object[] {t});
|
||||||
}
|
}
|
||||||
|
@ -52,6 +53,7 @@ public class ListUI extends JFrame implements Runnable{
|
||||||
* Create the frame.
|
* Create the frame.
|
||||||
*/
|
*/
|
||||||
public ListUI() {
|
public ListUI() {
|
||||||
|
setTitle("List");
|
||||||
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||||
setBounds(100, 100, 450, 300);
|
setBounds(100, 100, 450, 300);
|
||||||
contentPane = new JPanel();
|
contentPane = new JPanel();
|
||||||
|
@ -59,12 +61,6 @@ public class ListUI extends JFrame implements Runnable{
|
||||||
setContentPane(contentPane);
|
setContentPane(contentPane);
|
||||||
contentPane.setLayout(null);
|
contentPane.setLayout(null);
|
||||||
|
|
||||||
table = new JTable();
|
|
||||||
|
|
||||||
table.setModel(dtm);
|
|
||||||
table.setBounds(120, 67, 203, 134);
|
|
||||||
contentPane.add(table);
|
|
||||||
|
|
||||||
JButton btnNewButton = new JButton("Connect");
|
JButton btnNewButton = new JButton("Connect");
|
||||||
btnNewButton.addActionListener(new ActionListener() {
|
btnNewButton.addActionListener(new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent arg0) {
|
public void actionPerformed(ActionEvent arg0) {
|
||||||
|
@ -73,7 +69,7 @@ public class ListUI extends JFrame implements Runnable{
|
||||||
try{
|
try{
|
||||||
String nom = (String) table.getValueAt(row, col);
|
String nom = (String) table.getValueAt(row, col);
|
||||||
System.out.println(nom);
|
System.out.println(nom);
|
||||||
|
ajouterNomListe(dtm, test);
|
||||||
//String id = GestionnaireNom.idFromNom(nom);
|
//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);
|
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;
|
package ui;
|
||||||
|
|
||||||
import java.awt.BorderLayout;
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.EventQueue;
|
import java.awt.EventQueue;
|
||||||
|
|
||||||
|
@ -8,6 +7,8 @@ import javax.swing.JFrame;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
import javax.swing.border.EmptyBorder;
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|
||||||
|
import liste.GestionnaireListeUtilisateur;
|
||||||
|
import liste.TypeListeUtilisateur;
|
||||||
import nom.GestionnaireNom;
|
import nom.GestionnaireNom;
|
||||||
|
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
|
@ -25,12 +26,11 @@ 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 {
|
public class Login_RegisterUI extends JFrame implements Runnable{
|
||||||
|
|
||||||
private JPanel contentPane;
|
private JPanel contentPane;
|
||||||
private JTextField idField;
|
private JTextField idField;
|
||||||
private JTextField usernameField;
|
private JTextField passwordField;
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
//Instance du gestionnaire de liste
|
//Instance du gestionnaire de liste
|
||||||
|
@ -52,27 +52,10 @@ public class Login_RegisterUI extends JFrame {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
public void enter() {
|
|
||||||
if( usernameField.getText().equals("admin") || idField.getText().equals("0") ) { //remplaver || par && -> flemme debug
|
|
||||||
|
|
||||||
//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);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
EventQueue.invokeLater(new Runnable() {
|
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
Login_RegisterUI frame = new Login_RegisterUI();
|
Login_RegisterUI frame = new Login_RegisterUI();
|
||||||
frame.setVisible(true);
|
frame.setVisible(true);
|
||||||
|
|
||||||
|
@ -82,13 +65,41 @@ public class Login_RegisterUI extends JFrame {
|
||||||
e.printStackTrace();
|
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.
|
* Create the frame.
|
||||||
*/
|
*/
|
||||||
public Login_RegisterUI() {
|
public Login_RegisterUI(){
|
||||||
|
|
||||||
setTitle("Login");
|
setTitle("Login");
|
||||||
|
|
||||||
|
|
||||||
|
@ -104,10 +115,10 @@ public class Login_RegisterUI extends JFrame {
|
||||||
idLabel.setBounds(39, 47, 79, 32);
|
idLabel.setBounds(39, 47, 79, 32);
|
||||||
contentPane.add(idLabel);
|
contentPane.add(idLabel);
|
||||||
|
|
||||||
JLabel usernameLabel = new JLabel("Username");
|
JLabel passwordLabel = new JLabel("Password");
|
||||||
usernameLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
passwordLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
usernameLabel.setBounds(39, 93, 79, 25);
|
passwordLabel.setBounds(39, 93, 79, 25);
|
||||||
contentPane.add(usernameLabel);
|
contentPane.add(passwordLabel);
|
||||||
|
|
||||||
idField = new JTextField();
|
idField = new JTextField();
|
||||||
idField.addKeyListener(new KeyAdapter() {
|
idField.addKeyListener(new KeyAdapter() {
|
||||||
|
@ -141,8 +152,8 @@ public class Login_RegisterUI extends JFrame {
|
||||||
contentPane.add(idField);
|
contentPane.add(idField);
|
||||||
idField.setColumns(10);
|
idField.setColumns(10);
|
||||||
|
|
||||||
usernameField = new JTextField();
|
passwordField = new JTextField();
|
||||||
usernameField.addKeyListener(new KeyAdapter() {
|
passwordField.addKeyListener(new KeyAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void keyPressed(KeyEvent e) {
|
public void keyPressed(KeyEvent e) {
|
||||||
if (e.getExtendedKeyCode() == KeyEvent.VK_ENTER) {
|
if (e.getExtendedKeyCode() == KeyEvent.VK_ENTER) {
|
||||||
|
@ -150,27 +161,27 @@ public class Login_RegisterUI extends JFrame {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// Username field
|
// Password field
|
||||||
usernameField.addFocusListener(new FocusAdapter() {
|
passwordField.addFocusListener(new FocusAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void focusGained(FocusEvent e) {
|
public void focusGained(FocusEvent e) {
|
||||||
String s = usernameField.getText();
|
String s = passwordField.getText();
|
||||||
if ( s.equals("Username") ) {
|
if ( s.equals("Password") ) {
|
||||||
usernameField.setText("");
|
passwordField.setText("");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void focusLost(FocusEvent e) {
|
public void focusLost(FocusEvent e) {
|
||||||
String s = usernameField.getText();
|
String s = passwordField.getText();
|
||||||
if ( s.equals("") ) {
|
if ( s.equals("") ) {
|
||||||
usernameField.setText("Username");
|
passwordField.setText("Password");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
usernameField.setText("Username");
|
passwordField.setText("Password");
|
||||||
usernameField.setColumns(10);
|
passwordField.setColumns(10);
|
||||||
usernameField.setBounds(167, 95, 195, 20);
|
passwordField.setBounds(167, 95, 195, 20);
|
||||||
contentPane.add(usernameField);
|
contentPane.add(passwordField);
|
||||||
|
|
||||||
//login Button
|
//login Button
|
||||||
JButton loginButton = new JButton("Login");
|
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