<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 59, comments - 244, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    jbpm流程設計器開發(1)

    Posted on 2010-08-22 23:22 penngo 閱讀(5103) 評論(2)  編輯  收藏 所屬分類: JBPM

        看了net博客介紹的不少wf流程設計器實現,也來介紹下java版的jbpm流程設計器來給大家看看。jbpm它本身也有基于eclipse插件和web版的流程設計器,不過一般我們使用jbpm開發時,都有很多自定義的東西,使用它自帶的,會有一些不方便性,所以開發自定義的流程設計器,會有很多方便性。目前見過的用來開發流程設計器的組件有vml、svg、gef、jgraph,最近在javaeye上牛人介紹的Twave組件應該也適合用來開發。本篇將會介紹用jgraph來開發一個簡單的jbpm4的流程設計器。jgraph官網:www.jgraph.com,目前有java版、javascript版、flash版,java版的jgraph是開源免費的,詳細的介紹可以看官網。本文使用的JGraph版本是jgraphx 1.4.0.9(也叫jgraph6),它與jgraph5有很大的不同,實現類基本不同了。
        本篇先實現流程節點的插入,目前只實現開始節點的插入,后續的文章將會陸續介紹其它功能的完成。

    GUI直接使用swing,目前只實現在鼠標單擊時,插入一個節點,主要實現代碼類:

    GraphImpl.java代碼

    package com.workflow.designer.view;

    import java.awt.Point;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import com.mxgraph.swing.mxGraphComponent;
    import com.mxgraph.view.mxGraph;
    import com.workflow.designer.model.Node;
    import com.workflow.designer.util.Logger;

    public abstract class GraphImpl extends mxGraphComponent implements MouseListener{
     
    //新建Jgraph面板,所有節點都繪制在該面板
     private static mxGraph graph = new mxGraph();
     
    public GraphImpl(){
      
    super(graph);
      
    //給面板添加鼠標事件
      this.getGraphControl().addMouseListener(this);
     }

     
     
    public abstract void inser(Point p, Node n);
     
     
    public abstract void mouseClicked(MouseEvent e);

     
    public abstract void mousePressed(MouseEvent e);

     
    public abstract void mouseReleased(MouseEvent e);

     
    public abstract void mouseEntered(MouseEvent e);

     
    public abstract void mouseExited(MouseEvent e);
     
     
    public mxGraph getGraph() {
      
    return graph;
     }

    }



    GraphView.java代碼

    package com.workflow.designer.view;

    import java.awt.Point;
    import java.awt.event.MouseEvent;
    import com.mxgraph.view.mxGraph;
    import com.workflow.designer.model.Node;
    import com.workflow.designer.util.Logger;

    public class GraphView extends GraphImpl{
     
    private mxGraph graph = this.getGraph();
     
    private Object parent = graph.getDefaultParent();
      
    public GraphView(){
       
      }


      
    public void inser(Point p, Node n){
       
    this.getGraph().getModel().beginUpdate();
       
    try
       
    {
        
    //調用jgraph插入節點
          Object v1 = graph.insertVertex(parent, null, n.getLabel(), p.getX() - 5, p.getY() - 5, n.getWidth(),
                n.getHeight(), n.getShape());
       }

       
    finally
       
    {
          graph.getModel().endUpdate();
       }

      }

      
      
    public void mouseClicked(MouseEvent e){
       Point p 
    = e.getPoint();
       
    //鼠標點擊時,在jgraph面板上插入節點
       inser(p, new Node("開始""start""shape=ellipse;perimeter=ellipsePerimeter;"));
       Logger.debug(
    "mouseClicked");
      }


     
    public void mousePressed(MouseEvent e){
      Logger.debug(
    "mousePressed");
     }


     
    public void mouseReleased(MouseEvent e){
      Logger.debug(
    "mouseReleased");
     }


     
    public void mouseEntered(MouseEvent e){
      Logger.debug(
    "mouseEntered");
     }


     
    public void mouseExited(MouseEvent e){
      Logger.debug(
    "mouseExited"); 
     }


    }



    http://m.tkk7.com/pengo

    待續。。。。。。。。。。。。

    詳細代碼可以自己看附件的代碼。

    源碼jgraphxflow.rar
    運行程序jgraphxflow.jar.rar
     


    評論

    # re: jbpm流程設計器開發(1)  回復  更多評論   

    2010-08-23 13:47 by cxh8318
    期待中

    # re: jbpm流程設計器開發(1)  回復  更多評論   

    2013-05-02 19:23 by 劉聰
    你好,近期研究了一下你貼出來的相關程序,有些問題,懇請指教,QQ:1054221627.
    主站蜘蛛池模板: 成人毛片18岁女人毛片免费看| 免费中文字幕视频| 在线播放免费人成毛片乱码| 2048亚洲精品国产| 国产国产人免费人成成免视频| 免费少妇a级毛片人成网| 国产亚洲综合精品一区二区三区| 免费无码一区二区三区蜜桃大 | 日日AV拍夜夜添久久免费| 亚洲真人无码永久在线观看| 无码人妻精品一二三区免费| 亚洲精品伦理熟女国产一区二区| 曰皮全部过程视频免费国产30分钟| 亚洲国产精品成人综合色在线| 男人的天堂亚洲一区二区三区 | 国产精品美女久久久免费 | 51视频精品全部免费最新| 老司机亚洲精品影院无码| 黄页网站在线观看免费高清| 亚洲日韩精品无码专区加勒比| 免费看片A级毛片免费看| 成人一级免费视频| 亚洲精品狼友在线播放| 无码国产精品一区二区免费3p | 亚洲国产一级在线观看 | 免费国产99久久久香蕉| 亚洲成人黄色网址| 国产成人3p视频免费观看| jizz18免费视频| 青青草原精品国产亚洲av| 在线观看成人免费视频| 亚洲日韩在线观看免费视频| 亚洲尹人九九大色香蕉网站| 午夜视频在线观看免费完整版| 永久免费无码日韩视频| 18gay台湾男同亚洲男同| 免费高清av一区二区三区| 两个人看的www高清免费视频| 亚洲码在线中文在线观看| 免费a级毛片大学生免费观看| 久久免费公开视频|