package abc;
import java.io.*;
public class Data {
private String name;
private String fullName;
public Data (File f)
{
name = f.getName();
fullName = f.getAbsolutePath();
}
public String toString ()
{
return name;
}
private String getFullName ()
{
return fullName;
}
}
import javax.swing.*;
import javax.swing.tree.*;
import java.io.*;
private void display (DefaultMutableTreeNode branch, File dir)
{
if (dir.isDirectory())
{
File [] files = dir.listFiles();
if (files != null)
for (File file : files)
{
DefaultMutableTreeNode node =
new DefaultMutableTreeNode (new Data (file));
branch.add (node);
if (file.isDirectory())
display (node, file);
}
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
File dir = new File ("..");
DefaultMutableTreeNode branch =
new DefaultMutableTreeNode (new Data (dir));
display (branch, dir);
DefaultTreeModel model = new DefaultTreeModel (branch);
jTree1.setModel (model);
}
private void jTree1ValueChanged(javax.swing.event.TreeSelectionEvent evt) {
TreePath path = evt.getPath();
Object comp = path.getLastPathComponent();
if (comp instanceof DefaultMutableTreeNode)
{
DefaultMutableTreeNode node = (DefaultMutableTreeNode) comp;
Object obj = node.getUserObject();
if (obj instanceof Data)
{
Data data = (Data) obj;
System.out.println ("click " + data.getFullName ());
}
}
}
private void jTree1ValueChanged(javax.swing.event.TreeSelectionEvent evt) {
// TODO add your handling code here:
TreePath path = evt.getPath();
Object comp = path.getLastPathComponent();
if (comp instanceof DefaultMutableTreeNode)
{
DefaultMutableTreeNode node = (DefaultMutableTreeNode) comp;
Object obj = node.getUserObject();
if (obj instanceof Data)
{
Data data = (Data) obj;
String fileName = data.getFullName ();
try
{
FileReader r = new FileReader (fileName);
BufferedReader b = new BufferedReader (r);
jTextArea1.setText("");
int cnt = 1;
while (b.ready() && cnt <= 100)
{
jTextArea1.append (b.readLine() + "\n");
cnt ++;
}
}
catch (Exception ex)
{
}
}
}
}