début branche réunion
This commit is contained in:
parent
5fd722d95b
commit
f6b86d7aea
2 changed files with 180 additions and 0 deletions
101
POO/src/main/ControleurConnexion.java
Normal file
101
POO/src/main/ControleurConnexion.java
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
package main;
|
||||||
|
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.net.UnknownHostException;
|
||||||
|
|
||||||
|
import communication.*;
|
||||||
|
|
||||||
|
public class ControleurConnexion implements ActionListener {
|
||||||
|
|
||||||
|
private enum Etat {DEBUT, ID_OK};
|
||||||
|
|
||||||
|
private VueConnexion vue;
|
||||||
|
private Etat etat;
|
||||||
|
private CommunicationUDP comUDP;
|
||||||
|
private String id;
|
||||||
|
private String pseudo;
|
||||||
|
|
||||||
|
public ControleurConnexion(VueConnexion vue) {
|
||||||
|
this.vue = vue;
|
||||||
|
this.etat = Etat.DEBUT;
|
||||||
|
this.id="";
|
||||||
|
//Pour les tests, changer pour un truc plus général quand on change CommunicationUDP
|
||||||
|
try {
|
||||||
|
this.comUDP = new CommunicationUDP(2208, 2209, new int[] {2906});
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
boolean inputOK = false;
|
||||||
|
if (this.etat == Etat.DEBUT) {
|
||||||
|
id=vue.getValeurTextField();
|
||||||
|
|
||||||
|
//Recherche dans la liste des utilisateurs enregistres, report sur inputOK
|
||||||
|
inputOK = id.contentEquals("idvalide");
|
||||||
|
|
||||||
|
if (inputOK) {
|
||||||
|
this.etat=Etat.ID_OK;
|
||||||
|
|
||||||
|
//Envoi broadcast du message "JeSuisActif" et, attente du retour de la liste des utilisateurs actifs
|
||||||
|
try {
|
||||||
|
comUDP.sendMessageConnecte();
|
||||||
|
} catch (UnknownHostException e1) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e1.printStackTrace();
|
||||||
|
} catch (IOException e1) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e1.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
Thread.sleep(2);
|
||||||
|
} catch (InterruptedException e1) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e1.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
//Mise en place de la demande du pseudo
|
||||||
|
vue.setTexteLabelInput("Veuillez entrer votre nom");
|
||||||
|
vue.resetValeurTextField();
|
||||||
|
inputOK=false;
|
||||||
|
}
|
||||||
|
else vue.setTexteLabelInput("Identifiant invalide, veuillez réessayer");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
pseudo=vue.getValeurTextField();
|
||||||
|
|
||||||
|
//Recherche dans la liste locale des utilisateurs connectes, report sur inputOK
|
||||||
|
inputOK = !Communication.containsUserFromPseudo(pseudo);
|
||||||
|
|
||||||
|
if (inputOK) {
|
||||||
|
//Reglage de l'utilisateur
|
||||||
|
try {
|
||||||
|
Utilisateur.setSelf(id, pseudo, "localhost");
|
||||||
|
} catch (UnknownHostException e2) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e2.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
//Broadcast du pseudo
|
||||||
|
try {
|
||||||
|
comUDP.sendMessageInfoPseudo();
|
||||||
|
} catch (UnknownHostException e1) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e1.printStackTrace();
|
||||||
|
} catch (IOException e1) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e1.printStackTrace();
|
||||||
|
}
|
||||||
|
//Creation de la vue principale
|
||||||
|
vue.setTexteLabelInput("Congrations you done it");
|
||||||
|
}
|
||||||
|
else vue.setTexteLabelInput("Ce nom est déjà utilisé, veuillez en choisir un autre");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
79
POO/src/main/VueConnexion.java
Normal file
79
POO/src/main/VueConnexion.java
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
package main;
|
||||||
|
|
||||||
|
//Importe les librairies
|
||||||
|
import java.awt.*;
|
||||||
|
import java.awt.event.*;
|
||||||
|
import javax.swing.*;
|
||||||
|
|
||||||
|
public class VueConnexion extends Vue {
|
||||||
|
|
||||||
|
//Penser à regler la taille de la fenetre et a la centrer !
|
||||||
|
|
||||||
|
//Elements vue
|
||||||
|
private JFrame frame;
|
||||||
|
private JPanel panel;
|
||||||
|
private JButton boutonValider;
|
||||||
|
private JTextField input;
|
||||||
|
private JLabel labelInput;
|
||||||
|
|
||||||
|
//Controleur
|
||||||
|
ControleurConnexion controle;
|
||||||
|
|
||||||
|
public VueConnexion() {
|
||||||
|
super();
|
||||||
|
controle = new ControleurConnexion(this);
|
||||||
|
|
||||||
|
//Creation fenetre
|
||||||
|
frame = new JFrame("Connexion");
|
||||||
|
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
|
frame.setSize(400, 100);
|
||||||
|
frame.setLocationRelativeTo(null);
|
||||||
|
|
||||||
|
//Creation panel
|
||||||
|
panel = new JPanel(new GridLayout(3,1));
|
||||||
|
|
||||||
|
//Ajout elements
|
||||||
|
ajouterElements();
|
||||||
|
|
||||||
|
//Regle le bouton par défaut
|
||||||
|
frame.getRootPane().setDefaultButton(boutonValider);
|
||||||
|
|
||||||
|
//Ajoute le panel a la fenetre
|
||||||
|
frame.getContentPane().add(panel, BorderLayout.CENTER);
|
||||||
|
|
||||||
|
//Affiche la fenetre
|
||||||
|
frame.setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ajouterElements() {
|
||||||
|
|
||||||
|
//Cree les elements
|
||||||
|
input = new JTextField();
|
||||||
|
labelInput = new JLabel("Veuillez entrer votre identifiant unique");
|
||||||
|
boutonValider = new JButton("Valider");
|
||||||
|
|
||||||
|
//Le controleur guette les evenements du bouton
|
||||||
|
boutonValider.addActionListener(controle);
|
||||||
|
|
||||||
|
//Ajoute les elements
|
||||||
|
panel.add(labelInput);
|
||||||
|
panel.add(input);
|
||||||
|
panel.add(boutonValider);
|
||||||
|
|
||||||
|
labelInput.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Getters et setters
|
||||||
|
public void setTexteLabelInput(String text) {
|
||||||
|
labelInput.setText(text);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getValeurTextField() {
|
||||||
|
return input.getText();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void resetValeurTextField() {
|
||||||
|
input.setText("");
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue