diff --git a/POO/src/main/ControleurConnexion.java b/POO/src/main/ControleurConnexion.java index b3d114d..695b62b 100644 --- a/POO/src/main/ControleurConnexion.java +++ b/POO/src/main/ControleurConnexion.java @@ -5,14 +5,50 @@ import java.awt.event.ActionListener; public class ControleurConnexion implements ActionListener { + private enum Etat {DEBUT, ID_OK}; + private VueConnexion vue; + private Etat etat; public ControleurConnexion(VueConnexion vue) { this.vue = vue; + this.etat = Etat.DEBUT; } + @Override public void actionPerformed(ActionEvent e) { - + String input; + boolean inputOK = false; + if (this.etat == Etat.DEBUT) { + input=vue.getValeurTextField(); + + //Recherche dans la liste des utilisateurs enregistres, report sur inputOK + if (input.contentEquals("idvalide")) inputOK=true; + + if (inputOK) { + this.etat=Etat.ID_OK; + + //Envoi broadcast du message "JeSuisActif" et, attente du retour de la liste des utilisateurs actifs + + //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 { + input=vue.getValeurTextField(); + + //Recherche dans la liste locale des utilisateurs connectes, report sur inputOK + if (input.contentEquals("nomvalide")) inputOK=true; + + if (inputOK) { + //Creation de la vue principale + + } + else vue.setTexteLabelInput("Ce nom est déjà utilisé, veuillez en choisir un autre"); + } } } diff --git a/POO/src/main/Main.java b/POO/src/main/Main.java index 5b726b8..652d0fe 100644 --- a/POO/src/main/Main.java +++ b/POO/src/main/Main.java @@ -9,13 +9,7 @@ import javax.swing.JPanel; public class Main extends JPanel{ public static void main(String[] args) { - Vue vc = new VueConnexion(); - JFrame fenetre = new JFrame("Connexion"); - - fenetre.add(vc); - fenetre.setSize(500, 500); - fenetre.setVisible(true); } } diff --git a/POO/src/main/VueConnexion.java b/POO/src/main/VueConnexion.java index b3165b8..a0032d9 100644 --- a/POO/src/main/VueConnexion.java +++ b/POO/src/main/VueConnexion.java @@ -1,10 +1,79 @@ package main; -public class VueConnexion extends Vue { +//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(120, 40); + + //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.pack(); + 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(""); + } }