1 3 27 28 30 package de.qfs.apps.qflog; 31 32 34 import java.io.File ; 35 36 import java.awt.Component ; 37 import javax.swing.JFileChooser ; 38 import javax.swing.filechooser.FileFilter ; 39 40 import de.qfs.lib.log.Log; 41 import de.qfs.lib.log.Logger; 42 43 45 49 public class FileChooser extends JFileChooser 50 { 51 53 56 public static boolean TRACE = true; 57 60 private static Logger logger = new Logger (FileChooser.class); 61 62 65 private static LSFileFilter ffls = new LSFileFilter (".lsv"); 66 67 69 71 74 public FileChooser () 75 { 76 } 77 78 80 82 89 public static File openLog(Component parent) 90 { 91 JFileChooser fc = new JFileChooser (new File (".")); 92 93 fc.setApproveButtonText 94 (App.getResources().getString("dialog.open.name")); 95 fc.setApproveButtonMnemonic 96 (App.getResources().getString("dialog.open.mnemonic").charAt(0)); 97 98 fc.setFileFilter(ffls); 99 100 if (fc.showDialog(parent, null) == JFileChooser.APPROVE_OPTION) { 101 return fc.getSelectedFile(); 102 } 103 return null; 104 } 105 106 109 116 public static File saveLogAs(Component parent) 117 { 118 return saveAs(parent, ffls); 119 } 120 121 123 125 132 private static File saveAs(Component parent, FileFilter filter) 133 { 134 JFileChooser fc = new JFileChooser (new File (".")); 135 136 fc.setApproveButtonText 137 (App.getResources().getString("dialog.save.name")); 138 fc.setApproveButtonMnemonic 139 (App.getResources().getString("dialog.save.mnemonic").charAt(0)); 140 141 fc.setFileFilter(filter); 142 143 if (fc.showDialog(parent, null) == JFileChooser.APPROVE_OPTION) { 144 return fc.getSelectedFile(); 145 } 146 return null; 147 } 148 149 151 156 159 private static class LSFileFilter extends FileFilter 160 { 161 164 private String ext; 165 166 168 173 public LSFileFilter (String ext) 174 { 175 this.ext = ext; 176 } 177 178 181 189 public boolean accept(File file) 190 { 191 return file.isDirectory() || file.getName().endsWith(ext); 192 } 193 194 197 203 public String getDescription() 204 { 205 return App.getResources().getString("fileDescFor" + ext); 206 } 207 208 } 210 211 } 213 | Popular Tags |