1 package org.wcb.gui.dialog.file; 2 3 import org.wcb.gui.dialog.filter.CSVFileExtensionFilter; 4 5 import javax.swing.*; 6 import java.io.File; 7 8 /** 9 * <small> 10 * Copyright (c) 2006 wbogaardt. 11 * This library is free software; you can redistribute it and/or 12 * modify it under the terms of the GNU Lesser General Public 13 * License as published by the Free Software Foundation; either 14 * version 2.1 of the License, or (at your option) any later version. 15 * 16 * This library is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 * Lesser General Public License for more details. 20 * 21 * You should have received a copy of the GNU Lesser General Public 22 * License along with this library; if not, write to the Free Software 23 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 24 * <p/> 25 * $File: $ <br> 26 * $Change: $ submitted by $Author: wbogaardt $ at $DateTime: Apr 3, 2006 11:25:22 AM $ <br> 27 * </small> 28 * 29 * @author wbogaardt 30 * @version 1 31 * Date: Apr 3, 2006 32 * Time: 11:25:22 AM 33 */ 34 35 public class ImportFileDialog { 36 37 private static JFileChooser jfcChooser = null; 38 private String sDirectory; 39 private boolean bIsFile = false; 40 41 /** 42 * Constructor to create and show a open file dialog 43 * with only .cvs files showing as default. 44 */ 45 public ImportFileDialog() { 46 if (jfcChooser == null) 47 { 48 jfcChooser = new JFileChooser(); 49 jfcChooser.addChoosableFileFilter(new CSVFileExtensionFilter()); 50 } 51 int fileState = jfcChooser.showOpenDialog(null); 52 File file = jfcChooser.getSelectedFile(); 53 if (file != null && fileState == JFileChooser.APPROVE_OPTION) 54 { 55 setFilePath(file.getAbsolutePath()); 56 } 57 else if (fileState == JFileChooser.CANCEL_OPTION) 58 { 59 bIsFile = false; 60 } 61 } 62 63 /** 64 * Gets the file path directory from the open file dialog. 65 * @return String of the filepath. 66 */ 67 public String getFilePath() { 68 return sDirectory; 69 } 70 71 /** 72 * If a file was selected this returns a true. 73 * @return true file was selected else a false 74 */ 75 public boolean isFileSelected() { 76 return bIsFile; 77 } 78 79 /** 80 * Allows setting of the file path. 81 * @param fpath String of the file path 82 */ 83 private void setFilePath(String fpath) { 84 sDirectory = fpath; 85 bIsFile = true; 86 } 87 }