📄 workflow_doctree.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 + -