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

📄 workflow_doctree.java

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

/**  公文管理类树组件
 *    功能:
 *   定义公文管理窗体树型组件上面的各种操作方法
 */

/**
 * 名称       : WORKFLOW_DOCTREE
 * 描述       : WWW.FANGFA.NET 工作流管理系统--公文处理界面树型窗口
 * 版权信息   : Copyright (c) 2004 COMSCI
 * @作者      : COMSCI Sichuan Fangfa Digital
 * @版本      : 0.9 builder 2004091910
 * @日期      : 2004/09/19
 */

import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;

public class workflow_DocTree {

  public JTree tree;
  public DefaultMutableTreeNode root, node1, node2, node3, node4, node5;
  private JPopupMenu menu;
  public String graphname;

  private workflow_FileImportGXL fr;
  private workflow_GraphEd gd;
  private workflow_StepMain smn;
  private workflow_AddStepActive waa;
  private workflow_userlist wul;
  private workflow_JClosableTabbedPane wjt;

  private workflow_CellRender wcr;
  private workflow_RTCView wrtc;
  private workflow_IntoSql wisl;
  private workflow_DocumentNewDoc wdnc;

  public workflow_DocTree(workflow_JClosableTabbedPane wjt1) {

    wisl = new workflow_IntoSql("");
    tree = new JTree(readNode());
    wjt = wjt1;

//    tree.setCellRenderer(new workflow_CellRender());

    tree.setRowHeight(25);

    tree.addMouseListener(new MouseAdapter() {

      public void mousePressed(MouseEvent e) {
        if (e.getButton() == MouseEvent.BUTTON3) {
          DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) tree.
              getLastSelectedPathComponent();
          JPopupMenu menu = createPopupMenu(e.getPoint(), selectedNode);
          menu.show(tree, e.getX(), e.getY());
        }

      }
    });

  }

  public JTree createTree() {

    tree.setBorder(BorderFactory.createEtchedBorder());
    tree.setPreferredSize(new Dimension(130, 200));
    tree.setRowHeight(25);

    return tree;

  }

  public void createnode(Object nodename) {

    DefaultMutableTreeNode nodek = new DefaultMutableTreeNode(nodename);
    tree.isEditable();
    if (root.getChildCount() == 4) {
      node1 = (DefaultMutableTreeNode) root.getChildAt(0);
    }
    node1.add(nodek);
    tree.setRowHeight(25);
    tree.updateUI();
    tree.setRowHeight(25);

  }

  public void createnode1(Object nodename) {
    try {
      DefaultMutableTreeNode nodel = new DefaultMutableTreeNode(nodename);
      tree.isEditable();
      if (root.getChildCount() == 4) {
        node2 = (DefaultMutableTreeNode) root.getChildAt(1);
      }
      node2.add(nodel);
      tree.setRowHeight(25);
      tree.updateUI();
      tree.setRowHeight(25);
    }
    catch (Exception e) {
      System.out.println(e);
    }
  }

  public void delnode() {

  }

  public JPopupMenu createPopupMenu(final Point pt,
                                    final DefaultMutableTreeNode cell) {

    menu = new JPopupMenu();
    if (!tree.isSelectionEmpty() && cell.getParent().toString().equals("已登记发文")) {
      // Edit
      menu.add(new AbstractAction("将该公文与流程提交") {
        public void actionPerformed(ActionEvent e) {

          //更新树和数据库
          //出现可以关联的流程图

          JFrame jf = new JFrame();

          workflow_showFlowManager wsfm = new workflow_showFlowManager(cell.
              getUserObject().toString(), jf, tree, root);
          jf.getContentPane().add(wsfm, BorderLayout.CENTER);
          jf.setSize(150, 200);
          jf.setResizable(false);
          jf.setLocationRelativeTo(null);
          jf.setTitle("可使用流程列表");
          jf.show();
          cell.removeFromParent();
        }
      });
    }
    if (!tree.isSelectionEmpty() && cell.getParent().toString().equals("已登记发文")) {
      // Edit
      menu.add(new AbstractAction("删除该公文信息") {
        public void actionPerformed(ActionEvent e) {

          if (JOptionPane.showConfirmDialog(null, "是否删除该公文的的全部信息?") == 0) {
            if (wisl.delDoc(cell.getUserObject().toString())) {
              cell.removeFromParent();
              tree.setRowHeight(25);
              tree.updateUI();
              tree.setRowHeight(25);
            }
          }
        }
      });

    }
    if (!tree.isSelectionEmpty() && cell.getParent().toString().equals("已登记发文")) {
      // Edit
      menu.add(new AbstractAction("查看该文档信息") {
        public void actionPerformed(ActionEvent e) {
          int sp = cell.getUserObject().toString().indexOf("@");
          String name = cell.getUserObject().toString();
          //   String name = cell.getUserObject().toString().substring(0, sp);
          //   System.out.println(name);
          java.util.ArrayList juaw = wisl.get_doccontent(name);

          if (!juaw.isEmpty()) {

            wjt.add(name,
                    new workflow_DocumentNewDoc(wjt, null, juaw));

          }

        }
      });
    }

    return menu;
  }

  public void serializableNode(DefaultMutableTreeNode node) {
    try {
      java.io.FileOutputStream objfile = new java.io.FileOutputStream(
          "DOCTREE.OBJ");
      java.io.ObjectOutputStream p = new java.io.ObjectOutputStream(objfile);
      p.writeObject(node);
      p.flush();
      objfile.close();
    }
    catch (java.io.IOException e) {
      System.out.println(e.toString());
    }

  }

  public DefaultMutableTreeNode readNode() {

    FileInputStream objfile = null;
    try {
      objfile = new java.io.FileInputStream("DOCTREE.OBJ");
      ObjectInputStream q = new ObjectInputStream(objfile);
      root = (DefaultMutableTreeNode) q.readObject();
    }
    catch (Exception e) {
      System.out.println(e);
      //   JOptionPane.showMessageDialog(null,"系统第一次运行");
      root = new DefaultMutableTreeNode("公文管理列表");
      node1 = new DefaultMutableTreeNode("已登记发文");
      node2 = new DefaultMutableTreeNode("已提交的公文");
      node3 = new DefaultMutableTreeNode("流程关联的公文");
      node4 = new DefaultMutableTreeNode("正在运行的流程");
      root.add(node1);
      root.add(node2);
      root.add(node3);
      root.add(node4);

    }
    return root;
  }

}

⌨️ 快捷键说明

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