KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > TreeModelExample3


1
2 import java.awt.event.ActionEvent JavaDoc;
3 import java.io.File JavaDoc;
4 import java.net.MalformedURLException JavaDoc;
5 import java.util.ArrayList JavaDoc;
6 import javax.swing.AbstractAction JavaDoc;
7 import javax.swing.Action JavaDoc;
8 import javax.swing.JComponent JavaDoc;
9 import javax.swing.JDialog JavaDoc;
10 import javax.swing.JEditorPane JavaDoc;
11 import javax.swing.JFrame JavaDoc;
12 import org.netbeans.spi.viewmodel.Models;
13 import org.netbeans.spi.viewmodel.NodeActionsProvider;
14 import org.netbeans.spi.viewmodel.NodeModel;
15 import org.netbeans.spi.viewmodel.TreeModel;
16 import org.netbeans.spi.viewmodel.TreeModelListener;
17
18 public class TreeModelExample3 implements TreeModel, NodeModel, NodeActionsProvider {
19     
20     public Object JavaDoc[] getChildren (Object JavaDoc parent, int from, int to) {
21         if (parent == ROOT)
22             return File.listRoots ();
23         return ((File JavaDoc) parent).listFiles ();
24     }
25     
26     public Object JavaDoc getRoot () {
27         return ROOT;
28     }
29     
30     public boolean isLeaf (Object JavaDoc node) {
31         if (node == ROOT)
32             return false;
33         return ((File JavaDoc) node).isFile ();
34     }
35     
36     public void addTreeModelListener (TreeModelListener l) {}
37     public void removeTreeModelListener (TreeModelListener l) {}
38     
39     public String JavaDoc getDisplayName (Object JavaDoc node) {
40         if (node == ROOT) return "Name";
41         String JavaDoc name = ((File JavaDoc) node).getName ();
42         if (name.length () < 1) return ((File JavaDoc) node).getAbsolutePath ();
43         return name;
44     }
45     
46     public String JavaDoc getIconBase (Object JavaDoc node) {
47         if (node == ROOT) return "folder";
48         if (((File JavaDoc) node).isDirectory ()) return "folder";
49         return "file";
50     }
51     
52     public String JavaDoc getShortDescription (Object JavaDoc node) {
53         if (node == ROOT) return "Name";
54         return ((File JavaDoc) node).getAbsolutePath ();
55     }
56     
57     public Action JavaDoc[] getActions (final Object JavaDoc node) {
58         return new Action JavaDoc [] {
59             new AbstractAction JavaDoc ("Open") {
60                 public void actionPerformed (ActionEvent JavaDoc e) {
61                     performDefaultAction (node);
62                 }
63             },
64             new AbstractAction JavaDoc ("Delete") {
65                 public void actionPerformed (ActionEvent JavaDoc e) {
66                     ((File JavaDoc) node).delete ();
67                 }
68             }
69         };
70     }
71     
72     public void performDefaultAction (Object JavaDoc node) {
73         try {
74             JFrame JavaDoc f = new JFrame JavaDoc ("View");
75             f.getContentPane ().add (new JEditorPane JavaDoc (((File JavaDoc) node).toURL ()));
76             f.pack ();
77             f.show ();
78         } catch (Exception JavaDoc e) {
79             e.printStackTrace();
80         }
81     }
82     
83     public static void main (String JavaDoc[] args) {
84         TreeModelExample3 tme = new TreeModelExample3 ();
85         JComponent JavaDoc ttv = Models.createView (
86             tme, // TreeModel
87
tme, // NodeModel
88
null, // TableModel
89
tme, // NodeActionsProvider
90
new ArrayList JavaDoc () // list of ColumnModels
91
);
92         JFrame JavaDoc f = new JFrame JavaDoc ("Tree Model Example 3");
93         f.getContentPane ().add (ttv);
94         f.pack ();
95         f.show ();
96     }
97 }
98
Popular Tags