34 super(
"dragdrop_test");
38 DefaultListModel listModel = (DefaultListModel) list.getModel();
40 list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
41 list.setSelectedIndex(0);
42 list.addListSelectionListener(
this);
43 JScrollPane listScrollPane =
new JScrollPane(list);
45 String dirName = startPath +
"/";
46 String
filelist[] =
new File(dirName).list();
47 for (
int i = 0; i <
filelist.length; i++) {
48 String thisFileSt = dirName +
filelist[i];
49 File thisFile =
new File(thisFileSt);
51 if (thisFile.isDirectory())
57 listModel.addElement(makeNode(thisFile.getName(), thisFile.toURI().toURL()
58 .toString(), thisFile.getAbsolutePath()));
59 }
catch (java.net.MalformedURLException e) {
63 fileName =
new JTextField(50);
64 list.setSelectedIndex(0);
65 int sel_index = list.getSelectedIndex();
66 Object obj_at_index = listModel.getElementAt(sel_index);
67 String name = obj_at_index.toString();
68 fileName.setText(name);
71 JPanel buttonPane =
new JPanel();
72 buttonPane.add(fileName);
74 Container contentPane = getContentPane();
75 contentPane.add(listScrollPane, BorderLayout.CENTER);
76 contentPane.add(buttonPane, BorderLayout.NORTH);
90 private static Hashtable<String, String> makeNode(String name, String url, String strPath)
92 Hashtable<String, String> hashtable =
new Hashtable<String, String>();
139 DefaultListCellRenderer listCellRenderer =
new DefaultListCellRenderer();
142 boolean selected,
boolean hasFocus)
144 listCellRenderer.getListCellRendererComponent(list, value, index, selected, hasFocus);
145 listCellRenderer.setText(getValueString(value));
146 return listCellRenderer;
149 private String getValueString(Object value)
151 String returnString =
"null";
153 if (value instanceof Hashtable<?, ?>) {
154 @SuppressWarnings(
"unchecked")
155 Hashtable<String, String> h = (Hashtable<String, String>) value;
156 String name = (String) h.get("name");
157 String url = (String) h.get("url");
158 returnString = name + " ==> " + url;
160 returnString =
"X: " + value.toString();