1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.xnap.gui.component;
21
22 import org.xnap.gui.util.GUIHelper;
23
24 /***
25 * This class provides a {@link DirectoryPanel} for directory
26 * selection.
27 */
28 public class DirectoryList extends AbstractListPanel
29 {
30
31
32
33 private DirectoryPanel dtfDirectory;
34
35
36
37 public DirectoryList(String[] directories, int size, int visibleRows)
38 {
39 super(visibleRows);
40
41 dtfDirectory = new MyDirectoryPanel("", size);
42 GUIHelper.bindEnterKeyLocally
43 (dtfDirectory.getTextField(), getAddAction());
44 getInputBox().add(dtfDirectory, 0);
45
46 addItems(directories);
47 }
48
49
50
51 public String[] getDirectories()
52 {
53 return getStringItems();
54 }
55
56 protected Object getInput()
57 {
58 return dtfDirectory.getDirectory();
59 }
60
61 protected void setInput(Object item)
62 {
63 dtfDirectory.setDirectory((item != null) ? item.toString() : null);
64 }
65
66
67
68 private class MyDirectoryPanel extends DirectoryPanel
69 {
70 public MyDirectoryPanel(String text, int size)
71 {
72 super(text, size);
73 }
74
75 public void directorySelected(String dir)
76 {
77 addInput();
78 }
79 }
80 }