Results 1 to 1 of 1
- 07-07-2009, 02:37 PM #1
Member
- Join Date
- Dec 2007
- Posts
- 5
- Rep Power
- 0
Populating JTree With Directory Info
I'm working on project were I need to populate the file directory structure of the computer in a JTree. I have been able to populate the files in the user directory using the code below but no matter what I try I cannot get all of the drives to be listed and eventually allow the use to work done to a file level so they can select it. Any ideas on what I'm missing? I know the user.dir property will only bring back the user directory information but it is the only thing I have been able to get working.
Thanks in advance
Java Code:import java.io.File; import java.util.Enumeration; import java.util.Vector; import javax.swing.event.TreeModelEvent; import javax.swing.event.TreeModelListener; import javax.swing.tree.TreeModel; import javax.swing.tree.TreePath; public class FileDirectory implements TreeModel { private String root; // The root identifier private Vector listeners; // Declare the listeners vector public FileDirectory() { root = System.getProperty("user.dir"); File tempFile = new File(root); root = tempFile.getParent(); listeners = new Vector(); } public Object getRoot() { return (new File(root)); } public Object getChild(Object parent, int index) { File directory = (File) parent; String[] directoryMembers = directory.list(); return (new File(directory, directoryMembers[index])); } public int getChildCount(Object parent) { File fileSystemMember = (File) parent; if (fileSystemMember.isDirectory()) { String[] directoryMembers = fileSystemMember.list(); return directoryMembers.length; } else { return 0; } } public int getIndexOfChild(Object parent, Object child) { File directory = (File) parent; File directoryMember = (File) child; String[] directoryMemberNames = directory.list(); int result = -1; for (int i = 0; i < directoryMemberNames.length; ++i) { if (directoryMember.getName().equals(directoryMemberNames[i])) { result = i; break; } } return result; } public boolean isLeaf(Object node) { return ((File) node).isFile(); } public void addTreeModelListener(TreeModelListener l) { if (l != null && !listeners.contains(l)) { listeners.addElement(l); } } public void removeTreeModelListener(TreeModelListener l) { if (l != null) { listeners.removeElement(l); } } public void valueForPathChanged(TreePath path, Object newValue) { // Does Nothing! } public void fireTreeNodesInserted(TreeModelEvent e) { Enumeration listenerCount = listeners.elements(); while (listenerCount.hasMoreElements()) { TreeModelListener listener = (TreeModelListener) listenerCount.nextElement(); listener.treeNodesInserted(e); } } public void fireTreeNodesRemoved(TreeModelEvent e) { Enumeration listenerCount = listeners.elements(); while (listenerCount.hasMoreElements()) { TreeModelListener listener = (TreeModelListener) listenerCount.nextElement(); listener.treeNodesRemoved(e); } } public void fireTreeNodesChanged(TreeModelEvent e) { Enumeration listenerCount = listeners.elements(); while (listenerCount.hasMoreElements()) { TreeModelListener listener = (TreeModelListener) listenerCount.nextElement(); listener.treeNodesChanged(e); } } public void fireTreeStructureChanged(TreeModelEvent e) { Enumeration listenerCount = listeners.elements(); while (listenerCount.hasMoreElements()) { TreeModelListener listener = (TreeModelListener) listenerCount.nextElement(); listener.treeStructureChanged(e); } } }
Similar Threads
-
Populating the values in text fields
By Inaam in forum Web FrameworksReplies: 2Last Post: 07-26-2010, 08:55 AM -
Error when populating the data
By srinivas_k543 in forum Java ServletReplies: 2Last Post: 07-10-2009, 08:29 AM -
Move JTree item to another JTree.
By Melki in forum AWT / SwingReplies: 8Last Post: 07-09-2009, 11:59 AM -
Pre-Populating an Outlook Email
By KeithHenn in forum Advanced JavaReplies: 3Last Post: 10-23-2008, 03:13 PM -
How to load a directory in JTree with Children(On expansion)
By aneesahamedaa in forum AWT / SwingReplies: 0Last Post: 10-13-2008, 01:23 PM


LinkBack URL
About LinkBacks
Reply With Quote
Bookmarks