⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 showdirframe.java

📁 java灵感设计
💻 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 + -