Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/diaam/lgpl/ts/ActionSauvegarde.java


1   /*
2    * $Log: ActionSauvegarde.java,v $
3    * Revision 1.1  2000/11/10 15:31:30  vonarnim
4    * - deplacement (et nouvelle version) de TerminalStandard dans ctulu
5    *
6    * Revision 1.1  1999/11/25 12:28:22  Herve_AGNOUX
7    * Initial revision
8    *
9    */
10  /*
11  -- TerminalStandard v111999
12  
13  Fichier : TerminalStandard.java
14  Auteur : Hervé AGNOUX, hagnoux@mail.club-internet.fr
15  License LGPL.
16  */
17  package com.diaam.lgpl.ts;
18  
19  import java.awt.event.ActionEvent;
20  import java.io.File;
21  import java.io.FileWriter;
22  import java.io.IOException;
23  
24  import javax.swing.text.BadLocationException;
25  import javax.swing.text.Document;
26  
27  /**
28   * Pour proposer à l'utilisateur une sauvegarde d'un document ShSh.
29   * Pour l'utilisation, voir la doc de swing. Cette classe n'est pas 
30   * trés élaborée, mais c'est pas grave. Cela viendra plus tard.
31   * @author <a href="h_agnoux.html">Hervé AGNOUX</a>,
32   * hagnoux@mail.club-internet.fr
33   * @version 111999
34   */
35  public class ActionSauvegarde extends javax.swing.AbstractAction
36  {
37      /**
38       * Le fichier de sauvegarde par défaut est "log.txt".
39       */
40    public File fichierDeSauvegarde = new File("log.txt");
41  
42    private ShSh monShell;
43    private Exception pasDeBol;
44  
45      /**
46       * @param shell le ShSh dont il faudra sauvegarder le document.
47       */
48    public ActionSauvegarde(ShSh shell)
49    {
50      this(shell, "Sauvegarde");
51    }
52  
53      /**
54       * @param shell le ShSh dont il faudra sauvegarder le document.
55       * @param name le nom de l'action que l'on veut voir à l'écran.
56       */
57    public ActionSauvegarde(ShSh shell, String name)
58    {
59      super(name);
60      monShell = shell;
61    }
62  
63      /**
64       * L'action se déclenche ! Elle ne fait rien de mal : elle sauvegarde
65       * le contenu du document dans un fichier texte, c'est tout.
66       * @param ae RAS. (non utilisé)
67       */
68    public void actionPerformed(ActionEvent ae)
69    {
70      pasDeBol = null;
71      try
72        {
73    FileWriter fw;
74  
75    fw = null;
76    try
77      {
78        Document d;
79        String s;
80  
81        d = monShell.getDocument();
82        s = d.getText(0, d.getLength());
83        fw = new FileWriter(fichierDeSauvegarde);
84        fw.write(s);
85      }
86    finally
87      {
88        if (fw != null)
89          fw.close();
90      }
91        }
92      catch (IOException ioe)
93        {
94    pasDeBol = ioe;
95        }
96      catch (BadLocationException ble)
97        {
98    pasDeBol = ble;
99        }
100   }
101 
102     /**
103      * En cas que actionPerformed se passe mal, l'appli pourra
104      * trouver ici l'exception dénonciatrice. (A mon avis ça ne sert à rien)
105      * @return le blême.
106      */
107   public Exception gargl()
108   {
109     return pasDeBol;
110   }
111 }
112