Projet L3

Sign in or create your account | Project List | Help

Projet L3 Commit Details

Date:2010-01-14 11:57:57 (7 months 23 days ago)
Author:Antoine Millet
Commit:c5f7b6ddf3d5684c7108c5137bee2ed565c0fa15
Message:Ajout de la classe WFenetre pour la vue

Files: src/vue/WFenetre.java (1 diff)

Change Details

src/vue/WFenetre.java
1package vue;
2
3import org.gnome.glade.Glade;
4import org.gnome.glade.XML;
5
6import org.gnome.gtk.Window;
7
8import java.io.IOException;
9import java.io.FileWriter;
10import java.io.InputStream;
11
12public class WFenetre {
13
14    private XML glade;
15    private Window window;
16    private static String gladeTmpFile = "/tmp/projetl3_ui_glade.xml";
17
18    /**
19     * Constructeur de la classe.
20     * @throws IOException si le fichier glade ne peut être traité.
21     */
22    public WFenetre() throws IOException {
23
24        /* Écrire le fichier glade dans un fichier temporaire : */
25        this.writeGladeToTemp();
26
27        /* Parser le fichier glade et extraire l'ob */
28        this.glade = Glade.parse(gladeTmpFile, "window");
29        this.window = (Window)this.glade.getWidget("window");
30        this.window.show();
31    }
32
33    /**
34     * Écrire le fichier glade contenu dans la jar dans un fichier
35     * temporaire pour permettre à la libglade de le lire.
36     * @throws IOException si l'un des fichiers ne peut être lu ou écrit
37     */
38    private void writeGladeToTemp() throws IOException {
39        InputStream in = this.getClass().getResourceAsStream("/vue/ui.xml");
40        FileWriter out = new FileWriter(gladeTmpFile);
41        int buf;
42        while ((buf = in.read()) != -1) {
43            out.write(buf);
44        }
45        out.flush();
46        out.close();
47    }
48
49}

Archive Download the corresponding diff file

Branches:
master