1 package net.sf.jhylafax;
2
3 import java.io.File;
4 import org.xnap.commons.gui.FileChooserPanel;
5 import org.xnap.commons.util.QuotedStringTokenizer;
6
7 public class ExecutableChooserPanel extends FileChooserPanel {
8
9
10 public ExecutableChooserPanel(File file, int columns) {
11 super(file, columns);
12 }
13
14 public ExecutableChooserPanel(int columns) {
15 super(columns);
16 }
17
18 @Override
19 public File getFile() {
20 QuotedStringTokenizer t = new QuotedStringTokenizer(getTextField().getText());
21 return (t.hasMoreTokens()) ? new File(t.nextToken()) : new File("");
22 }
23
24 @Override
25 public void setFile(File file) {
26 if (file == null) {
27 getTextField().setText("");
28 }
29 else if (file.getAbsolutePath().contains(" ")) {
30 getTextField().setText("\"" + file.getAbsolutePath() + "\"");
31 }
32 else {
33 getTextField().setText(file.getAbsolutePath());
34 }
35 }
36
37 }