📄 showdirframe.java
字号:
package showdir;import java.awt.*;import java.awt.event.*;import javax.swing.*;import com.borland.jbcl.layout.*;import java.io.*;import java.lang.Object;import javax.swing.tree.*;/** * <p>Title: show Dir Demo</p> * <p>Description: This is a show Dir demo</p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: d6-125</p> * @author Liujun * @version 1.0 */public class showDirFrame extends JFrame { JPanel contentPane; JButton jButton1 = new JButton(); BorderLayout borderLayout1 = new BorderLayout(); //定义树节点,模型和树视图 DefaultMutableTreeNode root = new DefaultMutableTreeNode("没有元素"); DefaultTreeModel model = new DefaultTreeModel(root); JTree jTree1 = new JTree(model);//该部分为修改部分 //Construct the frame public showDirFrame() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception { //setIconImage(Toolkit.getDefaultToolkit().createImage(showDirFrame.class.getResource("[Your Icon]"))); contentPane = (JPanel) this.getContentPane(); jButton1.setText("选取根目录"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jButton1_actionPerformed(e); } }); contentPane.setLayout(borderLayout1); this.setSize(new Dimension(400, 300)); this.setTitle("show Dir Frame Demo"); //添加滚动条 contentPane.add((new JScrollPane(jTree1)), BorderLayout.CENTER);//该部分为修改部分 contentPane.add(jButton1, BorderLayout.NORTH); } //Overridden so we can exit when window is closed protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } public void setTree(String Path,DefaultMutableTreeNode TreePath){ //递归遍历目录树 try{ File source = new File(Path);//得到源文件路径 String[] fileName=source.list();//的到该目录下文件列表 for(int i=0;i<fileName.length;i++){//显示选择了的文件列表 File fileMem=new File(source.getPath(),fileName[i]); if(fileMem.isDirectory()){//是目录则添加目录 DefaultMutableTreeNode TreeMem =new DefaultMutableTreeNode(fileMem.getName()); TreePath.add(TreeMem);//在树中添加目录 setTree(fileMem.getPath(),TreeMem);//递归遍历目录树 }//end if else{//是文件则添加节点 DefaultMutableTreeNode TreeMem =new DefaultMutableTreeNode(fileMem.getName()); TreePath.add(TreeMem);//添加节点 } }//end for }//End try catch(Exception ei) { JOptionPane.showMessageDialog(this, "系统出错:"+ei);//显示提示信息。 } } void jButton1_actionPerformed(ActionEvent e) { JFileChooser JFileCh = new JFileChooser();//创建文件对话框 int returnVal = JFileCh.showOpenDialog(this);//显示文件对话框 if(returnVal == JFileChooser.APPROVE_OPTION){ File root = JFileCh.getSelectedFile();//得到根目录文件 if(root.isFile()) root=root.getParentFile();//如果得到的不是目录,则使用他的目录 DefaultMutableTreeNode rootTree =new DefaultMutableTreeNode(root.getPath()); setTree(root.getPath(),rootTree);//遍历目录树 model.setRoot(rootTree);//设置模型的根节点 model.reload();//重新构造树视图 }//end if else JOptionPane.showMessageDialog(this, "没有选择文件");//显示提示信息。 }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -