gvsig-tools / org.gvsig.tools / library / trunk / org.gvsig.tools / org.gvsig.tools.util / org.gvsig.tools.util.impl / src / main / java / org / gvsig / filedialogchooser / impl / JFileChooserBased.java @ 1872
History | View | Annotate | Download (1.86 KB)
1 |
/*
|
---|---|
2 |
* To change this license header, choose License Headers in Project Properties.
|
3 |
* To change this template file, choose Tools | Templates
|
4 |
* and open the template in the editor.
|
5 |
*/
|
6 |
package org.gvsig.filedialogchooser.impl; |
7 |
|
8 |
import java.awt.Component; |
9 |
import java.awt.HeadlessException; |
10 |
import java.io.File; |
11 |
import javax.swing.JFileChooser; |
12 |
import org.gvsig.filedialogchooser.FileDialogChooser; |
13 |
import org.gvsig.filedialogchooser.FileDialogChooserManager; |
14 |
import org.gvsig.tools.util.ToolsUtilLocator; |
15 |
|
16 |
|
17 |
|
18 |
|
19 |
public class JFileChooserBased extends JFileChooser implements FileDialogChooser { |
20 |
|
21 |
private static final long serialVersionUID = 2825200958209418322L; |
22 |
private final String fileChooserID; |
23 |
|
24 |
public JFileChooserBased(String fileChooserID) { |
25 |
super();
|
26 |
this.fileChooserID = fileChooserID;
|
27 |
} |
28 |
|
29 |
@Override
|
30 |
public int showOpenDialog(Component parent) throws HeadlessException { |
31 |
FileDialogChooserManager manager = ToolsUtilLocator.getFileDialogChooserManager(); |
32 |
File f = this.getCurrentDirectory(); |
33 |
if( f==null ) { |
34 |
f = manager.getLastPath(fileChooserID, null);
|
35 |
super.setCurrentDirectory(f);
|
36 |
} |
37 |
int r = super.showOpenDialog(parent); |
38 |
if( r == JFileChooser.APPROVE_OPTION ) { |
39 |
manager.setLastPath(fileChooserID, this.getCurrentDirectory());
|
40 |
} |
41 |
return r;
|
42 |
} |
43 |
|
44 |
@Override
|
45 |
public int showSaveDialog(Component parent) throws HeadlessException { |
46 |
FileDialogChooserManager manager = ToolsUtilLocator.getFileDialogChooserManager(); |
47 |
File f = manager.getLastPath(fileChooserID, this.getCurrentDirectory()); |
48 |
super.setCurrentDirectory(f); int r = super.showSaveDialog(parent); |
49 |
if( r == JFileChooser.APPROVE_OPTION ) { |
50 |
manager.setLastPath(fileChooserID, this.getCurrentDirectory());
|
51 |
} |
52 |
return r;
|
53 |
} |
54 |
} |