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 {
|
public class ControleurConnexion implements ActionListener {
|
||||||
|
|
||||||
|
private enum Etat {DEBUT, ID_OK};
|
||||||
|
|
||||||
private VueConnexion vue;
|
private VueConnexion vue;
|
||||||
|
private Etat etat;
|
||||||
|
|
||||||
public ControleurConnexion(VueConnexion vue) {
|
public ControleurConnexion(VueConnexion vue) {
|
||||||
this.vue = vue;
|
this.vue = vue;
|
||||||
|
this.etat = Etat.DEBUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
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 class Main extends JPanel{
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|
||||||
Vue vc = new VueConnexion();
|
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;
|
package main;
|
||||||
|
|
||||||
|
//Importe les librairies
|
||||||
|
import java.awt.*;
|
||||||
|
import java.awt.event.*;
|
||||||
|
import javax.swing.*;
|
||||||
|
|
||||||
public class VueConnexion extends Vue {
|
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() {
|
public VueConnexion() {
|
||||||
super();
|
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