📄 kaixinframe.java~394~
字号:
package diguiclass;
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import java.awt.Rectangle;
import javax.swing.JTree;
import java.io.File;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.*;
import javax.swing.filechooser.FileSystemView;
import diguiclass.AgileSuperJTreeBasic.FileNode;
import java.awt.GridBagLayout;
import java.awt.*;
import java.util.Vector;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2007</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class KaiXinFrame extends JFrame {
JPanel contentPane;
JScrollPane jScrollPane1 = new JScrollPane();
DefaultMutableTreeNode defa = new DefaultMutableTreeNode("我的电脑");
DefaultMutableTreeNode def1 = new DefaultMutableTreeNode("本地磁盘(c:)");
DefaultMutableTreeNode def2 = new DefaultMutableTreeNode("本地磁盘(d:)");
DefaultMutableTreeNode def3 = new DefaultMutableTreeNode("本地磁盘(e:)");
DefaultMutableTreeNode def4 = new DefaultMutableTreeNode("本地磁盘(f:)");
DefaultMutableTreeNode def5 = new DefaultMutableTreeNode("本地磁盘(g:)");
JTree jTree1 = new JTree(defa);
protected FileSystemView fileSystemView; //建立文件系统视类对象
protected FileNode root;
int a = 0;
JScrollPane jScrollPane2 = new JScrollPane(); // File fi = new File("D:\\");
public KaiXinFrame() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
/**
* Component initialization.
*
* @throws java.lang.Exception
*/
private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(null);
setSize(new Dimension(500, 410));
setTitle("Frame Title");
jScrollPane1.setBounds(new Rectangle(1, 3, 192, 373));
jTree1.addTreeSelectionListener(new
KaiXinFrame_jTree1_treeSelectionAdapter(this));
jScrollPane2.setBounds(new Rectangle(195, 3, 298, 373));
contentPane.add(jScrollPane1);
contentPane.add(jScrollPane2);
jScrollPane1.getViewport().add(jTree1);
// this.Set("c:", def1);
// this.Set("d:", def2);
// this.Set("e:", def3);
// this.Set("f:", def4);
// this.Set("g:", def5);
// this.Set("c:", def1);
this.GetPring(new File("c:"), def1);
this.GetPring(new File("d:"), def2);
this.GetPring(new File("e:"), def3);
this.GetPring(new File("f:"), def4);
this.GetPring(new File("g:"), def5);
// this.GetPring(new File("d:"), def1);
defa.add(def1);
defa.add(def2);
defa.add(def3);
defa.add(def4);
defa.add(def5);
}
/**
* 第一种方法
* */
public void Set(String file, DefaultMutableTreeNode def) {
File f = new File(file);
if (f.isDirectory()) {
File ff[] = f.listFiles();
for (int i = 0; i < ff.length; i++) {
if (ff[i].isDirectory()) {
DefaultMutableTreeNode temp = new DefaultMutableTreeNode(ff[
i].getName());
def.add(temp);
System.out.println(ff[i].getPath()); //示例输出
this.Set(ff[i].getPath(), temp);
} else {
def.add(new DefaultMutableTreeNode(ff[i].getName()));
}
}
}
}
/**
* 第二种方法
* */
public void GetPring(File file, DefaultMutableTreeNode dek) {
a++;
for (int i = 0; i < file.listFiles().length; i++) {
if (file.listFiles()[i].isDirectory()) {
DefaultMutableTreeNode de = new DefaultMutableTreeNode(file.
listFiles()[i].getName());
dek.add(de);
System.out.println(file.listFiles()[i].getPath()); //示例输出
this.GetPring(file.listFiles()[i], de);
} else {
dek.add(new DefaultMutableTreeNode(file.listFiles()[i].getName()));
}
}
}
/**
* 用于选中时现示在右边窗体的方法
* */
/**
* JTree事件
* */
public void jTree1_valueChanged(TreeSelectionEvent e) {
DefaultMutableTreeNode def3 = (DefaultMutableTreeNode) jTree1.
getLastSelectedPathComponent();
}
}
class KaiXinFrame_jTree1_treeSelectionAdapter implements
TreeSelectionListener {
private KaiXinFrame adaptee;
KaiXinFrame_jTree1_treeSelectionAdapter(KaiXinFrame adaptee) {
this.adaptee = adaptee;
}
public void valueChanged(TreeSelectionEvent e) {
adaptee.jTree1_valueChanged(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -