relation controleur/vue terminee
This commit is contained in:
parent
06357235ca
commit
059b513f0a
3 changed files with 107 additions and 8 deletions
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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("");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue