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

📄 jzjtree.java

📁 模仿WINDOWS的WINZIP的一款软件
💻 JAVA
字号:
package org.jr.jzj;

/**
 * <p>Copyright: Copyright (c) 2002-2003</p>
 * <p>Company: JavaResearch(http://www.javaresearch.org)</p>
 * <p>最后更新日期:2003年3月20日
 * @author Brain,Cherami,Barney
 * @version 0.8
 */

import javax.swing.*;
import javax.swing.event.*;
import javax.swing.tree.*;

/**
 * 以树形结构显示内容的导航面板的树形结构类。
 */

public class JZJTree
    extends JTree {
  private static JZJLogger logger = new JZJLogger(JZJTree.class);
  private JZJResources resource = JZJResources.getResources();
  private JZJTableModel tableModel;
  /**
   * 根据指定的树形模型和表格模型构造一个JZJTree。
   * @param treeModel 树形模型
   * @param tableModel 表格模型
   */
  public JZJTree(JZJTreeModel treeModel, JZJTableModel tableModel) {
    super(treeModel);
    this.tableModel = tableModel;
    init();
  }

  /**
   * 完成树形结构的初始化。
   */
  private void init() {
    setRootVisible(false);
    setShowsRootHandles(true);

    DefaultTreeCellRenderer ren = new DefaultTreeCellRenderer();
    ren.setLeafIcon(ren.getClosedIcon());
    setCellRenderer(ren);

    addTreeSelectionListener(new TreeSelectionListener() {
      public void valueChanged(TreeSelectionEvent e) {
        Object o = e.getSource();
        if (o instanceof JZJTree) {
          JZJTree t = (JZJTree) o;
          if (t.isSelectionEmpty()) {
            tableModel.clear();
          }
          else {
            JZJTreeObject to = (JZJTreeObject)
                ( ( (DefaultMutableTreeNode) t.getSelectionPath().
                   getLastPathComponent()).getUserObject());
            tableModel.clear();
            tableModel.addRows(to.getEntries());
          }
        }
      }
    });
  }
}

⌨️ 快捷键说明

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