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

📄 workflow_cellrender.java

📁 用java实现的工作流
💻 JAVA
字号:
package treedoc;

// 对树型列表进行修饰的类
// 对树型节点的ICON进行修饰的类

/**
 * 名称       : WORKFLOW_CELLRENDER
 * 描述       : WWW.FANGFA.NET 工作流管理系统--树型节点的图标修饰类
 * 版权信息   : Copyright (c) 2004 COMSCI
 * @作者      : COMSCI Sichuan Fangfa Digital
 * @版本      : 0.9 builder 2004091910
 * @日期      : 2004/09/19
 */



import java.awt.*;
import javax.swing.*;
import javax.swing.tree.*;
import javax.swing.border.*;

public class workflow_CellRender
    extends DefaultTreeCellRenderer {
  ImageIcon htmlIcon;
  ImageIcon imageIcon, imageIcon1, imageIcon2, imageIcon3;
  private Border lineBorder = BorderFactory.createLineBorder(Color.blue, 1);
  private Border emptyBorder = BorderFactory.createEmptyBorder(2, 2, 2, 2);
  public static final Color colorBackground1 = new Color(235, 245, 255); // background1
  public static final Color colorBackground2 = new Color(206, 219, 247); // background2
  public static final Color colorBackground3 = new Color(181, 199, 247); // background3
  public static final Color colorBackground4 = new Color(51, 102, 204); // background4

  public workflow_CellRender() {

    imageIcon = new  ImageIcon("resources/icon1.gif");
    imageIcon1 = new ImageIcon("resources/icon3.gif");
    imageIcon2 = new ImageIcon("resources/open.gif");
    imageIcon3 = new ImageIcon("resources/about.gif");

  }
//把树型目录列表上面的节点图标根据子树的类型重新设置

  public Component getTreeCellRendererComponent(JTree tree, Object value,
                                                boolean isSelected,
                                                boolean expanded, boolean leaf,
                                                int row, boolean hasFocus) {
    super.getTreeCellRendererComponent(tree, value, isSelected, expanded,
                                       leaf, row, hasFocus);

    DefaultMutableTreeNode currentNode = (DefaultMutableTreeNode) value;
    this.setIcon(imageIcon);
    this.setOpaque(true);
    if (currentNode instanceof TreeNode) {
      if (currentNode.getUserObject().toString().equals("工作流管理")) {
        setIcon(imageIcon1);
      }
      if (currentNode.getUserObject().toString().equals("未提交工作流")) {
        setIcon(imageIcon2);
      }
      if (currentNode.isLeaf() &&
          !currentNode.getUserObject().toString().equals("正在运行的流程") &&
          !currentNode.getUserObject().toString().equals("运行完毕的流程")) {
        setIcon(imageIcon3);

      }
    }
    if (isSelected) {
      setForeground(tree.getForeground());
      setBackground(colorBackground2);
    }
    else {
      setForeground(tree.getForeground());
      setBackground(tree.getBackground());
    }
    if (hasFocus) {
      setBorder(lineBorder);
    }
    else {
      setBorder(emptyBorder);
    }

    return this;
  }

}

⌨️ 快捷键说明

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