1: package ste.pendu.wordeditor;
3: import java.awt.event.ActionListener;
4: import java.awt.event.ActionEvent;
5: import javax.swing.JFileChooser;
6: import javax.swing.filechooser.FileFilter;
7: import javax.swing.JOptionPane;
8: import java.io.File;
9: import java.io.IOException;
11: /**
12: * Contrôle l'ouverture de fichier.
13: *
14: */
15: public class ControlOuvrir extends AbstractControl
16: {
18: public ControlOuvrir()
19: {
20: super();
21: }
23: public ControlOuvrir(WordListModel model, View view)
24: {
25: super(model, view);
26: }
28: /**
29: * Action à effectuer.
30: *
31: * <p>Lorsqu'un bouton a été pressé ou la touche <code>ENTER</code> a
32: * été pressée dans un JTextField, et que l'action est à l'écoute,
33: * cette méthode est exécutée. On peut récupérer le paramètre pour
34: * savoir quel composant a propagé l'événement et les informations
35: * qu'il y a enfermées.</p>
36: *
37: * @param action l'action transmise par l'événement
38: */
39: public void actionPerformed(ActionEvent action)
40: {
41: JFileChooser chooser = new JFileChooser(".");
42: WordListFileFilter wltext = new WordListFileFilter("txt");
43: WordListFileFilter wlser = new WordListFileFilter("ser");
44: chooser.addChoosableFileFilter(wltext);
45: chooser.addChoosableFileFilter(wlser);
46:
47: int returnVal = chooser.showOpenDialog(null);
48: if(returnVal == JFileChooser.APPROVE_OPTION) {
49: try
50: {
51: File f = chooser.getSelectedFile();
52: this.model.setFileName(f.getPath());
53: }
54: catch(IOException ioex)
55: {
56: JOptionPane.showMessageDialog(null,
57: ioex.getMessage(),
58: "WordEditor!",
59: JOptionPane.ERROR_MESSAGE);
60: }
61: }
62:
63: }
65: }