KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > fractal > explorer > lib > JFileChooserSingleton


1 /*====================================================================
2  
3  Objectweb Browser Framework
4  Copyright (C) 2000-2004 INRIA & USTL - LIFL - GOAL
5  Contact: openccm@objectweb.org
6  
7  This library is free software; you can redistribute it and/or
8  modify it under the terms of the GNU Lesser General Public
9  License as published by the Free Software Foundation; either
10  version 2.1 of the License, or any later version.
11  
12  This library is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  Lesser General Public License for more details.
16  
17  You should have received a copy of the GNU Lesser General Public
18  License along with this library; if not, write to the Free Software
19  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20  USA
21  
22  Initial developer(s): Jerome Moroy.
23  Contributor(s): ______________________________________.
24  
25  ---------------------------------------------------------------------
26  $Id: JFileChooserSingleton.java,v 1.2 2004/05/28 14:51:48 moroy Exp $
27  ====================================================================*/

28
29 package org.objectweb.fractal.explorer.lib;
30
31 import java.io.File JavaDoc;
32
33 import javax.swing.JFileChooser JavaDoc;
34 import javax.swing.filechooser.FileFilter JavaDoc;
35
36 import org.objectweb.fractal.explorer.api.FractalBrowserConstants;
37
38 /**
39  * This class gives you a JFileChooser.
40  * @author <a HREF="mailto:Jerome.Moroy@lifl.fr">Jerome Moroy</a>
41  * @version 0.1
42  */

43 public class JFileChooserSingleton
44 {
45     //==================================================================
46
//
47
// Internal states.
48
//
49
//==================================================================
50

51     /** The JFileChooser instance. */
52     protected static JFileChooser JavaDoc instance_ = null;
53     
54     /** The FractalFileFilter instance. */
55     protected static FileFilter JavaDoc fractalFileFilter_ = new FractalFileFilter();
56     
57     //==================================================================
58
//
59
// No constructor.
60
//
61
//==================================================================
62

63     //==================================================================
64
//
65
// Internal methods.
66
//
67
//==================================================================
68

69     /**
70      * Initialize the instance.
71      */

72     protected static void init() {
73         instance_ = new JFileChooser JavaDoc();
74     }
75     
76     /**
77      * Gives a JFileChooser with a specific FileFilter.
78      * @param fileFilterType The FileFilter type.
79      * <ul>
80      * <li>FractalBrowserConstants.FRACTAL_FILE_FILTER</li>
81      * <li>FractalBrowserConstants.DIRECTORY_FILE_FILTER</li>
82      * </ul>
83      * @return The appropriate JFileChooser.
84      */

85     public static JFileChooser JavaDoc getInstance(int fileFilterType) {
86         File JavaDoc f = null;
87         if (instance_ != null)
88             f = instance_.getCurrentDirectory();
89         else
90             f = new File JavaDoc(System.getProperty("user.dir"));
91         init();
92         instance_.setCurrentDirectory(f);
93         if (fileFilterType == FractalBrowserConstants.FRACTAL_FILE_FILTER)
94             instance_.setFileFilter(fractalFileFilter_);
95         else if (fileFilterType == FractalBrowserConstants.DIRECTORY_FILE_FILTER)
96             instance_.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
97         return instance_;
98     }
99 }
100
Popular Tags