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 pour quitter l'application.
9: *
10: */
11: public class ControlQuitter extends AbstractControl
12: {
14: public ControlQuitter()
15: {
16: super();
17: }
19: public ControlQuitter(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: boolean saved = this.model.isSaved();
38: boolean doExit = saved;
39: if(!saved)
40: {
41: int i = JOptionPane.showConfirmDialog
42: (null, "Les mots n'ont pas été sauvé! Voulez-vous vraiment quitter?",
43: "WordEditor!", JOptionPane.YES_NO_OPTION, JOptionPane.ERROR_MESSAGE);
44: doExit = (JOptionPane.YES_OPTION==i);
45: }
47: if (doExit)
48: {
49: System.exit(0);
50: }
51: }
52:
53: }