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

📄 treedemo7.java

📁 《精通Java Swing程序设计S》这本书所附带的JAVA程序写得很漂亮,都是SWING的实例子,很适合初学者。
💻 JAVA
字号:
import javax.swing.*;
import javax.swing.tree.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class TreeDemo7 implements TreeSelectionListener
{
    JEditorPane editorPane;

    public TreeDemo7()
    {
        JFrame f = new JFrame("TreeDemo");
        Container contentPane = f.getContentPane();
        DefaultMutableTreeNode root = new DefaultMutableTreeNode("资源管理器");
        DefaultMutableTreeNode node = new DefaultMutableTreeNode("TreeDemo1.java");
        root.add(node);
        node = new DefaultMutableTreeNode("TreeDemo2.java");
        root.add(node);
        node = new DefaultMutableTreeNode("TreeDemo3.java");
        root.add(node);
        node = new DefaultMutableTreeNode("TreeDemo4.java");
        root.add(node);
        
        JTree tree = new JTree(root);
        tree.getSelectionModel().setSelectionMode(
            TreeSelectionModel.SINGLE_TREE_SELECTION);
        tree.addTreeSelectionListener(this);

        JScrollPane scrollPane1 = new JScrollPane(tree);
        editorPane = new JEditorPane();
        JScrollPane scrollPane2 = new JScrollPane(editorPane);
        JSplitPane splitPane = new JSplitPane(
            JSplitPane.HORIZONTAL_SPLIT,true, scrollPane1, scrollPane2);

        contentPane.add(splitPane);
        f.pack();
        f.setVisible(true);
        
        f.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
    }

    public void valueChanged(TreeSelectionEvent e)
    {
        JTree tree = (JTree) e.getSource(); 
        DefaultMutableTreeNode selectionNode =
            (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();

        String nodeName = selectionNode.toString();
        
        if (selectionNode.isLeaf()) 
        {
            String filepath = "file:"+System.getProperty("user.dir") +
                               System.getProperty("file.separator") +
                               nodeName;
                           
            try {
                 editorPane.setPage(filepath);
            } catch(IOException ex) {
                 System.out.println("找不到此文件");
            }
        }
    }
    
    public static void main(String[] args) {
        new TreeDemo7();        
    }
}              

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -