1: package ste.pendu.wordeditor;
3: import java.awt.event.ActionListener;
4: import java.awt.event.ActionEvent;
5: import javax.swing.JOptionPane;
7: /**
8: * Contrôle l'ajout d'un mot.
9: *
10: */
11: public class ControlAjouter extends AbstractControl
12: {
14: public ControlAjouter()
15: {
16: super();
17: }
19: public ControlAjouter(WordListModel model, View view)
20: {
21: super(model, view);
22: }
24: /**
25: * Action à effectuer.
26: *
27: * <p>Lorsqu'un bouton a été pressé ou la touche <code>ENTER</code> a
28: * été pressée dans un JTextField, et que l'action est à l'écoute,
29: * cette méthode est exécutée. On peut récupérer le paramètre pour
30: * savoir quel composant a propagé l'événement et les informations
31: * qu'il y a enfermées.</p>
32: *
33: * @param action l'action transmise par l'événement
34: */
35: public void actionPerformed(ActionEvent action)
36: {
37: String mot = super.view.getWord();
38: if (this.check(mot))
39: {
40: this.model.addWord(mot);
41: this.view.clean();
42: }
43: else
44: {
45: JOptionPane.showMessageDialog
46: (null,
47: "Uniquement des lettres de 'a' à 'z'!\nEt au moins trois lettres!",
48: "WordList", JOptionPane.ERROR_MESSAGE);
49: }
50: }
52: protected boolean check(String mot)
53: {
54: char[] c=mot.toCharArray();
55: boolean valide= (c.length>=3);
56: int i=0;
57: while (valide && i<c.length)
58: {
59: valide = (c[i] >= 'a' && c[i] <= 'z');
60: i++;
61: }
62: return valide;
63: }
65: }