亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? workflow_fileimportgxl.java

?? 用java實現(xiàn)的工作流
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package treedoc;


// 功能
// 還原顯示外部GXL流程文件為GRAPH圖類.....

/**
 * 名稱       : WORKFLOW_FILEIMPORTGXL
 * 描述       : WWW.FANGFA.NET 工作流管理系統(tǒng)--流程拓撲圖顯示類
 * 版權(quán)信息   : Copyright (c) 2004 COMSCI
 * @作者      : COMSCI Sichuan Fangfa Digital
 * @版本      : 0.9 builder 2004091910
 * @日期      : 2004/09/19
 */

import java.io.*;
import java.util.*;
import java.util.List;
import javax.xml.parsers.*;

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;
import org.jgraph.*;
import org.jgraph.graph.*;
import org.jgraph.layout.*;
import org.jgraph.pad.*;
import org.jgraph.util.*;
import org.w3c.dom.*;

public class workflow_FileImportGXL
    extends workflow_AbstractActionDefault {

  String files;

  public workflow_FileImportGXL(String file) {
    files = file;

  }

  public void actionPerformed(ActionEvent e) {

    try {
      //   String file = f.getDirectory() + f.getFile();
      JGraph graph = getCurrentGraph();
      parseGXLFileInto(files, graph);

    }
    catch (Exception ex) {
      // graphpad.error(ex.toString());
    }
  }

  /**
   * Extracts visual properties of the node from the child 'view' element
   * Currently recognized properties:
   * - font, attrs: name, size, style(plain, bold, italic)
   * - color
   * - background-color
   * - autosize
   */
  static void fetchNodeViewProperties(Node gnode, Map gnode_attrs) {
    NodeList gnode_children = gnode.getChildNodes();
    for (int gnode_child_i = 0; gnode_child_i < gnode_children.getLength();
         gnode_child_i++) {
      Node gnode_child = gnode_children.item(gnode_child_i);
      if (gnode_child.getNodeName().equals("view")) { // View properties of the node
        Element node_view = (Element) gnode_child;
        Font font = GraphConstants.DEFAULTFONT;
        String fontName = null;

        if (node_view.getAttribute("font-name") != null) {
          fontName = node_view.getAttribute("font-name").toString();
        }
        float fontSize = font.getSize2D();
        if (node_view.getAttribute("font-size") != null) {
          try {
            fontSize = Float.parseFloat(node_view.getAttribute("font-size"));
          }
          catch (NumberFormatException nfe) {
            // Will use default size
          }
        }
        int styleMask = 0;
        if (node_view.getAttribute("font-style") != null) {
          String style = node_view.getAttribute("font-style");
          if (style.equals("plain")) {
            styleMask = Font.PLAIN;
          }
          if (style.indexOf("italic") != -1) {
            styleMask += Font.ITALIC;
          }
          if (style.indexOf("bold") != -1) {
            styleMask += Font.BOLD;
          }
        }
        if (fontName != null) {
          font = new Font(fontName, styleMask, (int) fontSize);
        }
        else {
          font = font.deriveFont(styleMask, fontSize);
        }
        GraphConstants.setFont(gnode_attrs, font);
        if (node_view.getAttribute("color") != null) {
          try {
            int color = Integer.parseInt(node_view.getAttribute("color"));
            GraphConstants.setForeground(gnode_attrs, new Color(color));
            GraphConstants.setBorderColor(gnode_attrs, new Color(color));
            GraphConstants.setLineColor(gnode_attrs, new Color(color));
          }
          catch (NumberFormatException nfe) {
          }
        }
        if (node_view.getAttribute("background-color") != null) {
          try {
            int color = Integer.parseInt(node_view.getAttribute(
                "background-color"));
            GraphConstants.setBackground(gnode_attrs, new Color(color));
          }
          catch (NumberFormatException nfe) {
          }
        }
        if (node_view.getAttribute("auto-size") != null) {
          GraphConstants.setAutoSize(gnode_attrs,
                                     "true".equals(node_view.
              getAttribute("auto-size")));
        }
      }
    }
  }

  static void fetchEdgeViewProperties(Node enode, Map enode_attrs) {
    fetchNodeViewProperties(enode, enode_attrs);
    GraphConstants.setLineEnd(enode_attrs, GraphConstants.ARROW_SIMPLE);
    GraphConstants.setLineStyle(enode_attrs, GraphConstants.STYLE_BEZIER);
  }

  public void parseGXLFileInto(
      String name,
      JGraph graph) throws Exception {
    String defaultLayout = null;

    GraphModel model = graph.getModel();

    File f = new File(name);

    Object[] oldCells = graph.getRoots();
    if (oldCells != null) {
      oldCells =
          DefaultGraphModel.getDescendants(model, oldCells).toArray();
      model.remove(oldCells);
    }

    // Create a DocumentBuilderFactory
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    // Create a DocumentBuilder
    DocumentBuilder db = dbf.newDocumentBuilder();
    // Parse the input file to get a Document object

    Document doc = db.parse(f);

    // Get the first child (the graph-element)
    // List for the new Cells

    Element gxl = (Element) doc.getDocumentElement(); // First gxl element
    List newCells = new ArrayList();
    // ConnectionSet for the Insert method
    ConnectionSet cs = new ConnectionSet();
    // Hashtable for the ID lookup (ID to Vertex)
    Map ids = new Hashtable();
    // Hashtable for Attributes (Vertex to Map)
    Hashtable attributes = new Hashtable();

    NodeList graph_list = gxl.getChildNodes();

    if (graph_list.getLength() == 0) {

      return;
    }
    for (int graph_index = 0; graph_index < graph_list.getLength();
         graph_index++) {

      Node graph_node = graph_list.item(graph_index);
      if (graph_node.getNodeName().equals("graph")) {

        Element graph_elem = (Element) graph_node;
        NodeList list = graph_elem.getChildNodes();
        boolean defaultDirected = "directed".equals(graph_elem.getAttribute(
            "edgemode")) ||
            "defaultdirected".equals(graph_elem.getAttribute("edgemode"));
        // End of Opheamro

        // Get Graph's Child Nodes (the cells)


        // Loop Children
        for (int i = 0; i < list.getLength(); i++) {
          Node node = list.item(i);
          // Fetch Label
          String label = getLabel(node);
          // If Valid Node
          if (node.getAttributes() != null && node.getNodeName() != null) {
            // Fetch Type
            String type = node.getNodeName().toString().toLowerCase();

            // Create Vertex
            if (type.equals("node")) {
              // Fetch ID Node
              String id = null;
              Node tmp = node.getAttributes().getNamedItem("id");
              // Fetch ID Value
              if (tmp != null) {
                id = tmp.getNodeValue();
                // Need unique valid ID
              }
              if (id != null && !ids.keySet().contains(id)) {
                // Create Vertex with label
                DefaultGraphCell vertex = new DefaultGraphCell(new
                    GPUserObject(
                    label));
                // Add One Floating Port
                vertex.add(new DefaultPort());
                // Add ID, Vertex pair to Hashtable
                ids.put(id, vertex);
                // Add Default Attributes
                Map node_attrs = createDefaultAttributes();
                // get Bounds attri AND PUT IT TO NODE'S ATT
                int idd = 0;
                int iddd[] = {
                    0, 0, 0, 0};
                for (Enumeration e = getBound(node).elements();
                     e.hasMoreElements(); ) {

                  iddd[idd] = Integer.parseInt(e.nextElement().toString());
                  idd = idd + 1;
                }

                GraphConstants.setBounds(node_attrs,
                                         new Rectangle2D.Double(iddd[0],
                    iddd[1],
                    iddd[2], iddd[3]));

                fetchNodeViewProperties(node, node_attrs);
                GraphConstants.setBendable(node_attrs, true);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃av一区二区| 久久久久久久久久久久久夜| 免费成人深夜小野草| 中国色在线观看另类| 欧美放荡的少妇| 成人黄色片在线观看| 亚洲大片一区二区三区| 国产婷婷一区二区| 欧美电影在哪看比较好| 91色综合久久久久婷婷| 国产美女在线精品| 蜜臀99久久精品久久久久久软件| 综合分类小说区另类春色亚洲小说欧美| 在线播放国产精品二区一二区四区| 不卡的av中国片| 精品一区免费av| 日韩中文字幕亚洲一区二区va在线| 国产精品久久久久久久午夜片 | 91亚洲大成网污www| 九九视频精品免费| 亚洲大片一区二区三区| 一区二区视频在线看| 国产精品免费丝袜| 久久午夜色播影院免费高清| 在线综合+亚洲+欧美中文字幕| 日本韩国欧美在线| 99久久精品国产毛片| 国产传媒日韩欧美成人| 狠狠狠色丁香婷婷综合激情| 日本一道高清亚洲日美韩| 亚洲国产另类精品专区| 亚洲乱码国产乱码精品精98午夜| 国产精品亲子伦对白| 久久精品亚洲国产奇米99| 日韩欧美国产麻豆| 欧美一级生活片| 91精品欧美一区二区三区综合在| 欧美中文字幕不卡| 欧美亚洲自拍偷拍| 91福利在线导航| 欧美色网一区二区| 欧美三级在线看| 欧美日韩国产另类不卡| 欧美日韩午夜在线视频| 欧美久久久久久久久中文字幕| 欧美性猛交一区二区三区精品| 91黄色免费网站| 色婷婷精品久久二区二区蜜臂av| 一本久久a久久精品亚洲 | 制服丝袜中文字幕亚洲| 91麻豆精品国产91久久久资源速度 | 国产欧美综合在线| 国产亚洲欧美日韩在线一区| 国产偷国产偷精品高清尤物| 国产精品不卡一区二区三区| 亚洲欧美福利一区二区| 亚洲国产综合91精品麻豆| 亚洲国产日韩在线一区模特| 日韩精品免费专区| 精品一区二区三区免费观看| 国产经典欧美精品| 99久久99久久久精品齐齐| 91小视频在线免费看| 欧洲一区在线观看| 欧美一级日韩不卡播放免费| 久久久久久久免费视频了| 欧美激情在线观看视频免费| 1区2区3区国产精品| 亚洲二区在线观看| 捆绑调教美女网站视频一区| 懂色av一区二区三区蜜臀| 97久久精品人人澡人人爽| 欧美图区在线视频| 精品三级av在线| 亚洲欧洲韩国日本视频| 亚洲成年人影院| 激情五月激情综合网| 成人av免费在线| 欧美日韩精品欧美日韩精品一综合| 日韩精品一区二区三区swag| 国产色91在线| 亚洲va在线va天堂| 国产成人av一区二区三区在线观看| 91美女片黄在线观看91美女| 在线不卡a资源高清| 日本一区二区三区高清不卡| 亚洲一区二区三区不卡国产欧美 | 日韩影院精彩在线| 夫妻av一区二区| 欧美群妇大交群中文字幕| 国产日韩欧美精品一区| 视频一区在线播放| 大胆亚洲人体视频| 91精品国产综合久久婷婷香蕉| 亚洲国产精品黑人久久久| 香蕉成人伊视频在线观看| 国产91精品精华液一区二区三区| 在线精品视频一区二区三四| 久久久久亚洲综合| 日日夜夜精品视频天天综合网| 国产99精品国产| 欧美一级片免费看| 日韩理论电影院| 国产在线播放一区| 欧美理论片在线| 亚洲视频小说图片| 国产成人午夜99999| 91精品国产色综合久久ai换脸 | 美国欧美日韩国产在线播放| 91免费观看在线| 久久精品亚洲精品国产欧美| 日韩精品1区2区3区| 色噜噜狠狠色综合中国| 欧美激情一区二区三区| 久久国产综合精品| 欧美精品日韩综合在线| 亚洲免费在线观看视频| 丁香五精品蜜臀久久久久99网站| 精品免费一区二区三区| 亚洲动漫第一页| 欧美在线观看视频在线| 国产精品久久三| 国产69精品久久久久毛片| 精品成人一区二区三区四区| 热久久免费视频| 欧美日韩国产成人在线91| 亚洲成人av一区| 欧美日韩和欧美的一区二区| 一区二区成人在线| 在线精品亚洲一区二区不卡| 久久日一线二线三线suv| 99久久精品99国产精品 | 日精品一区二区三区| 欧美在线免费视屏| 亚洲国产另类av| 欧美日韩黄视频| 日精品一区二区| 欧美一卡二卡三卡| 奇米影视在线99精品| 欧美一区日本一区韩国一区| 视频一区国产视频| 91精品啪在线观看国产60岁| 蜜桃传媒麻豆第一区在线观看| 日韩一区二区不卡| 九九国产精品视频| 欧美精品一区二区三区久久久| 精品一区二区三区在线观看国产| 欧美大白屁股肥臀xxxxxx| 久久99热这里只有精品| 精品国产不卡一区二区三区| 国产美女精品人人做人人爽| 久久亚洲捆绑美女| 粉嫩av亚洲一区二区图片| 亚洲欧洲三级电影| 日本道精品一区二区三区| 亚洲成人一区二区| 日韩欧美在线123| 国产一区二区在线观看视频| 国产片一区二区| 91麻豆国产香蕉久久精品| 一区二区三区精品在线| 欧美日韩在线播| 另类综合日韩欧美亚洲| 国产日韩v精品一区二区| 色综合天天做天天爱| 2020国产精品自拍| aaa国产一区| 婷婷久久综合九色综合绿巨人| 日韩片之四级片| 成人美女在线视频| 亚洲午夜电影在线观看| 欧美精品丝袜中出| 国产经典欧美精品| 亚洲大片免费看| 国产三级久久久| 欧美色图天堂网| 极品少妇一区二区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 在线影视一区二区三区| 久久精品72免费观看| 亚洲欧美激情小说另类| 日韩欧美一二区| 9色porny自拍视频一区二区| 日韩国产精品91| 国产精品夫妻自拍| 日韩一级二级三级| av电影在线不卡| 九色综合狠狠综合久久| 亚洲午夜在线视频| 国产日韩在线不卡| 日韩一区二区三区四区 | 欧美日韩国产经典色站一区二区三区 | 日本韩国一区二区三区视频| 日韩中文欧美在线| 日本一区二区不卡视频| 欧美日韩国产在线观看| 国产99久久久国产精品| 日韩成人免费看| 亚洲女同一区二区| 2020日本不卡一区二区视频|