Results 1 to 5 of 5
- 12-10-2011, 05:58 PM #1
Member
- Join Date
- Dec 2011
- Posts
- 20
- Rep Power
- 0
Question about making folder directory and explorer...
I am trying to make these in java applet...and i had found how to make directory but how to display the selected folder's file in another frame?
Just like this:
And how to display them in different icon?
like movie file display with player icon,audio file in sound wave icon...etc.
I am using this code for the directory:
File folder Tree with icons : Tree*«*Swing JFC*«*Java
I hope there is anyone can help me...
Thank you.
- 12-10-2011, 07:37 PM #2
Re: Question about making folder directory and explorer...
Please post your code in the forum with code tags, wrap your code with[code]<YOUR CODE HERE>[/code] to get highlighting
- 12-11-2011, 07:12 AM #3
Member
- Join Date
- Dec 2011
- Posts
- 20
- Rep Power
- 0
Re: Question about making folder directory and explorer...
Here is my code until now:
Java Code:import java.io.File; import java.util.Iterator; import java.util.Vector; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JSplitPane; import javax.swing.JTextArea; import javax.swing.JTree; import javax.swing.event.TreeModelEvent; import javax.swing.event.TreeModelListener; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; import javax.swing.tree.TreeModel; import javax.swing.tree.TreePath; public class FileTreeFrame extends JFrame { private JTree fileTree; private FileSystemModel fileSystemModel; private JTextArea fileDetailsTextArea = new JTextArea(); public FileTreeFrame(String directory) { super("JTree FileSystem Viewer"); fileDetailsTextArea.setEditable(false); fileSystemModel = new FileSystemModel(new File(directory)); fileTree = new JTree(fileSystemModel); fileTree.setEditable(true); fileTree.addTreeSelectionListener(new TreeSelectionListener() { public void valueChanged(TreeSelectionEvent event) { File file = (File) fileTree.getLastSelectedPathComponent(); fileDetailsTextArea.setText(getFileDetails(file)); } }); JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, new JScrollPane( fileTree), new JScrollPane(fileDetailsTextArea)); getContentPane().add(splitPane); setDefaultCloseOperation(EXIT_ON_CLOSE); setSize(640, 480); setVisible(true); } private String getFileDetails(File file) { if (file == null) return ""; StringBuffer buffer = new StringBuffer(); buffer.append("Name: " + file.getName() + "\n"); buffer.append("Path: " + file.getPath() + "\n"); buffer.append("Size: " + file.length() + "\n"); return buffer.toString(); } public static void main(String args[]) { new FileTreeFrame("c:\\"); } } class FileSystemModel implements TreeModel { private File root; private Vector listeners = new Vector(); public FileSystemModel(File rootDirectory) { root = rootDirectory; } public Object getRoot() { return root; } public Object getChild(Object parent, int index) { File directory = (File) parent; String[] children = directory.list(); return new TreeFile(directory, children[index]); } public int getChildCount(Object parent) { File file = (File) parent; if (file.isDirectory()) { String[] fileList = file.list(); if (fileList != null) return file.list().length; } return 0; } public boolean isLeaf(Object node) { File file = (File) node; return file.isFile(); } public int getIndexOfChild(Object parent, Object child) { File directory = (File) parent; File file = (File) child; String[] children = directory.list(); for (int i = 0; i < children.length; i++) { if (file.getName().equals(children[i])) { return i; } } return -1; } public void valueForPathChanged(TreePath path, Object value) { File oldFile = (File) path.getLastPathComponent(); String fileParentPath = oldFile.getParent(); String newFileName = (String) value; File targetFile = new File(fileParentPath, newFileName); oldFile.renameTo(targetFile); File parent = new File(fileParentPath); int[] changedChildrenIndices = { getIndexOfChild(parent, targetFile) }; Object[] changedChildren = { targetFile }; fireTreeNodesChanged(path.getParentPath(), changedChildrenIndices, changedChildren); } private void fireTreeNodesChanged(TreePath parentPath, int[] indices, Object[] children) { TreeModelEvent event = new TreeModelEvent(this, parentPath, indices, children); Iterator iterator = listeners.iterator(); TreeModelListener listener = null; while (iterator.hasNext()) { listener = (TreeModelListener) iterator.next(); listener.treeNodesChanged(event); } } public void addTreeModelListener(TreeModelListener listener) { listeners.add(listener); } public void removeTreeModelListener(TreeModelListener listener) { listeners.remove(listener); } private class TreeFile extends File { public TreeFile(File parent, String child) { super(parent, child); } public String toString() { return getName(); } } }
- 12-11-2011, 07:27 AM #4
Moderator
- Join Date
- Feb 2009
- Location
- New Zealand
- Posts
- 4,716
- Rep Power
- 19
Re: Question about making folder directory and explorer...
The code you linked to shows how to use different icons in the tree view.
If you do not want to supply your own icons (as that code does) have a look at the FileSystemView class.
- 12-11-2011, 08:30 AM #5
Member
- Join Date
- Dec 2011
- Posts
- 20
- Rep Power
- 0
Similar Threads
-
Making a method exercise question
By katiebear128 in forum New To JavaReplies: 6Last Post: 10-01-2011, 09:48 PM -
Swing question: Making a visual tic tac toe
By alacn in forum New To JavaReplies: 8Last Post: 07-05-2010, 03:42 AM -
Issure with folder (directory)
By solris in forum New To JavaReplies: 7Last Post: 06-30-2009, 06:03 AM -
opening directory (folder) to reveal contents.
By solris in forum New To JavaReplies: 6Last Post: 06-28-2009, 07:40 PM -
[SOLVED] Making a new folder, reading an entire file in one block read
By fogus in forum New To JavaReplies: 15Last Post: 03-18-2009, 11:59 PM
Bookmarks