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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? relationshipsnavigator.java

?? 一個(gè)很好實(shí)用的工作流OSWORKFLOW開(kāi)發(fā)例子.有著非常優(yōu)秀的靈活性.
?? JAVA
字號(hào):
package com.opensymphony.workflow.designer;import javax.swing.*;import javax.swing.event.*;import javax.swing.tree.*;import java.awt.Component;import com.opensymphony.workflow.loader.*;import org.jgraph.graph.CellView;import org.jgraph.graph.DefaultGraphCell;import org.jgraph.graph.GraphConstants;public class RelationshipsNavigator extends JTree implements TreeSelectionListener, TreeModelListener{  private WorkflowDesigner designer;  private WorkflowGraph currentGraph = null;  private DefaultGraphCell currentCell = null;  private Object currentObject = null;  private DefaultTreeCellRenderer cellRenderer = new WorkflowCellRenderer();  public RelationshipsNavigator(WorkflowDesigner designer)  {    super(new DefaultTreeModel(new DefaultMutableTreeNode(ResourceManager.getString("relationships"))));    setRootVisible(false);    this.designer = designer;    addTreeSelectionListener(this);    setEditable(true);    getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);    setShowsRootHandles(true);    getModel().addTreeModelListener(this);    setCellRenderer(cellRenderer);  }  private void clearRelationships(Object rootObject)  {    DefaultTreeModel model = (DefaultTreeModel)getModel();    DefaultMutableTreeNode root = new DefaultMutableTreeNode(rootObject);    setRootVisible(true);    model.setRoot(root);    model.reload(root);    currentObject = root.getUserObject();  }  public void showRelationships(Object node, WorkflowGraph graph)  {    if(node instanceof DefaultGraphCell)    {      currentGraph = graph;      currentCell = (DefaultGraphCell)node;      clearRelationships(node);    }    if(node instanceof StepCell)    {      showStepRelationships((StepCell)node);    }    // TODO: handle other cell types  }  public void showStepRelationships(StepCell cell)  {    DefaultTreeModel model = (DefaultTreeModel)getModel();    DefaultMutableTreeNode root = (DefaultMutableTreeNode)model.getRoot();    StepDescriptor stepDescriptor = cell.getDescriptor();    Object[] cells = new Object[]{cell};    java.util.Set edgeSet = WorkflowGraphModel.getEdges(currentGraph.getModel(), cells);    for(int i = 0; i < stepDescriptor.getActions().size(); i++)    {      ActionDescriptor action = (ActionDescriptor)(stepDescriptor.getActions().get(i));	  DefaultMutableTreeNode actionNode = new DefaultMutableTreeNode(action) {        public String toString()        {          if(getUserObject() instanceof ActionDescriptor)          {            return ((ActionDescriptor)getUserObject()).getName();          }          else          {            return super.toString();          }        }      };      model.insertNodeInto(actionNode, root, root.getChildCount());      java.util.Iterator edges = edgeSet.iterator();      while(edges.hasNext())      {        ResultEdge edge = (ResultEdge)edges.next();        if(edge.getDescriptor().getParent() == action)        {          model.insertNodeInto(new DefaultMutableTreeNode(edge), actionNode, actionNode.getChildCount());        }      }    }    if(stepDescriptor.getActions().size() > 0)    {      setRootVisible(false);    }    model.reload(root);  }  public void valueChanged(TreeSelectionEvent e)  {    DefaultMutableTreeNode node = (DefaultMutableTreeNode)getLastSelectedPathComponent();    if(node == null || node.equals(getModel().getRoot()))      return;    currentObject = node.getUserObject();    if(node.isLeaf())    {      if(node.getUserObject() instanceof DefaultGraphCell)      {        designer.showDetails(node.getUserObject());      }    }  }  public DefaultGraphCell getCell()  {    return currentCell;  }  public void treeNodesChanged(TreeModelEvent e)  {    DefaultMutableTreeNode node;    node = (DefaultMutableTreeNode)(e.getTreePath().getLastPathComponent());    try    {      int index = e.getChildIndices()[0];      node = (DefaultMutableTreeNode)(node.getChildAt(index));    }    catch(NullPointerException exc)    {    }    if(currentObject instanceof ActionDescriptor)    {      ((ActionDescriptor)currentObject).setName((String)node.getUserObject());    }    else if(currentObject instanceof ResultEdge)    {      ((ResultEdge)currentObject).getDescriptor().setDisplayName((String)node.getUserObject());    }    else if(currentObject instanceof StepCell)    {      ((StepCell)currentObject).getDescriptor().setName((String)node.getUserObject());    }    node.setUserObject(currentObject);    RefreshUIForNode(node);    currentGraph.paintAll(currentGraph.getGraphics());    DefaultTreeModel model = (DefaultTreeModel)getModel();    model.reload(node);    designer.refreshUI();  }  protected void RefreshUIForNode(DefaultMutableTreeNode node)  {    Object currentObject = node.getUserObject();    if(currentObject != null)    {      CellView currentView = currentGraph.getGraphLayoutCache().getMapping(currentObject, false);      if(currentView != null)      {        currentView.update();        //currentView.refresh(false);        currentGraph.updateAutoSize(currentView);      }      for(int i = 0; i < node.getChildCount(); i++)      {        RefreshUIForNode((DefaultMutableTreeNode)node.getChildAt(i));      }    }  }  public void treeNodesInserted(TreeModelEvent e)  {  }  public void treeNodesRemoved(TreeModelEvent e)  {  }  public void treeStructureChanged(TreeModelEvent e)  {  }  static class WorkflowCellRenderer extends DefaultTreeCellRenderer  {    public WorkflowCellRenderer()    {      super();      setClosedIcon(ResourceManager.getIcon("action"));      setOpenIcon(ResourceManager.getIcon("action"));      setLeafIcon(ResourceManager.getIcon("step"));    }    public Component getTreeCellRendererComponent(JTree tree, Object value,                                                  boolean sel,                                                  boolean expanded,                                                  boolean leaf, int row,                                                  boolean hasFocus)    {      Component result = super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);      if(value instanceof DefaultMutableTreeNode)      {        if(((DefaultMutableTreeNode)value).getUserObject() instanceof ResultEdge)        {          ResultEdge edge = (ResultEdge)((DefaultMutableTreeNode)value).getUserObject();          if(!sel)          {            setForeground(GraphConstants.getForeground(edge.getAttributes()));          }          if(tree.isEnabled())          {            if(edge.getDescriptor() instanceof ConditionalResultDescriptor)            {              setIcon(ResourceManager.getIcon("conditional.result"));            }            else            {              setIcon(ResourceManager.getIcon("unconditional.result"));            }          }        }      }      return result;    }  }}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区在线看| 一区二区三区免费在线观看| 欧美一区二区不卡视频| 在线观看视频91| 欧洲视频一区二区| 欧美日韩中文另类| 欧美一区二区三级| 欧美精品一区二区三区一线天视频 | 亚洲国产成人av| 一区二区久久久久| 日av在线不卡| 国产一区在线观看视频| 高清在线观看日韩| 99re热这里只有精品免费视频| av激情综合网| 欧美日韩小视频| 精品日韩一区二区三区免费视频| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 国产亚洲一二三区| 自拍偷在线精品自拍偷无码专区| 一区二区三区**美女毛片| 亚瑟在线精品视频| 国产精品资源在线看| 99v久久综合狠狠综合久久| 欧美在线你懂得| 精品国产乱码久久久久久图片 | 色又黄又爽网站www久久| 欧美亚洲动漫精品| 久久久亚洲午夜电影| 亚洲精品亚洲人成人网在线播放| 日韩av在线发布| www.成人在线| 6080午夜不卡| 亚洲少妇30p| 狠狠色丁香婷综合久久| 色综合一区二区| 欧美tickling挠脚心丨vk| 亚洲三级免费观看| 激情偷乱视频一区二区三区| 色哟哟国产精品免费观看| 26uuu成人网一区二区三区| 最新国产成人在线观看| 久久电影国产免费久久电影| 色悠久久久久综合欧美99| 久久久精品免费免费| 日本三级韩国三级欧美三级| bt7086福利一区国产| 欧美大度的电影原声| 一区二区三区国产| 成人午夜激情片| 欧美mv日韩mv国产网站app| 亚洲一区二区在线观看视频| 国产99久久久国产精品免费看| 欧美一区二区三区在线观看| 亚洲四区在线观看| 国产成a人亚洲精品| 精品少妇一区二区| 日韩成人一级片| 欧美在线免费播放| 一级女性全黄久久生活片免费| 国产成+人+日韩+欧美+亚洲| 日韩欧美一级精品久久| 午夜精品视频在线观看| 色综合中文字幕国产 | 美国三级日本三级久久99 | 成人av综合在线| 久久久国产精品麻豆| 麻豆精品国产传媒mv男同 | 成人ar影院免费观看视频| 久久综合久色欧美综合狠狠| 毛片av中文字幕一区二区| 欧美一区午夜精品| 日本亚洲一区二区| 欧美一区二区三区四区高清 | 成人精品免费看| 中文字幕乱码久久午夜不卡| 成人av网站免费| 亚洲色图一区二区| 91看片淫黄大片一级在线观看| 国产精品剧情在线亚洲| 不卡影院免费观看| 日韩伦理免费电影| 欧美亚洲日本国产| 日韩中文字幕91| 日韩欧美国产一区二区在线播放 | 99精品欧美一区二区蜜桃免费| 国产精品毛片久久久久久久| 91免费版在线| 亚洲成人自拍一区| 精品少妇一区二区三区| 国产成人在线免费观看| 亚洲少妇30p| 欧美一区二区三区四区五区| 激情图片小说一区| 亚洲四区在线观看| 欧美精品一二三| 国产91在线看| 亚洲成人自拍网| 2017欧美狠狠色| 日本电影亚洲天堂一区| 美女精品自拍一二三四| 中文字幕欧美区| 欧美浪妇xxxx高跟鞋交| 国产成人午夜片在线观看高清观看| 中文字幕中文字幕一区| 欧美午夜电影网| 国产美女主播视频一区| 亚洲一区影音先锋| 久久亚洲一级片| 欧美主播一区二区三区| 国产尤物一区二区| 樱桃视频在线观看一区| ww亚洲ww在线观看国产| 欧美专区在线观看一区| 国产伦精品一区二区三区免费| 日韩毛片在线免费观看| www国产精品av| 欧美视频完全免费看| 国产乱人伦精品一区二区在线观看| 一区二区在线免费| 国产欧美日韩精品一区| 日韩欧美高清dvd碟片| 91片在线免费观看| 极品尤物av久久免费看| 亚洲制服丝袜av| 欧美经典一区二区| 欧美成人一级视频| 欧美日韩综合不卡| aa级大片欧美| 懂色av一区二区在线播放| 日韩制服丝袜av| 亚洲一区二区影院| 《视频一区视频二区| 久久精品亚洲精品国产欧美kt∨| 欧美日韩国产精选| 在线免费视频一区二区| 99re这里只有精品首页| 国产精品18久久久久久久网站| 男人的j进女人的j一区| 婷婷综合久久一区二区三区| 一区二区三区在线影院| 亚洲日本在线视频观看| 国产精品嫩草久久久久| 国产亚洲欧美日韩日本| 久久久久久久久久久黄色| 精品国产欧美一区二区| 日韩三级av在线播放| 欧美一区二区日韩一区二区| 宅男在线国产精品| 91精品欧美一区二区三区综合在 | 中文字幕免费在线观看视频一区| 日韩欧美在线观看一区二区三区| 欧美高清视频一二三区| 欧美日韩精品三区| 欧美老肥妇做.爰bbww视频| 欧美日韩一区 二区 三区 久久精品| 色综合天天综合网天天狠天天| 波多野结衣的一区二区三区| 成人av资源在线| 91亚洲精品久久久蜜桃网站 | 久久夜色精品国产噜噜av| 久久免费美女视频| 国产欧美1区2区3区| 日韩美女精品在线| 一区二区三区日韩欧美| 日韩高清不卡在线| 美女性感视频久久| 国产99久久久国产精品潘金网站| 波波电影院一区二区三区| 一本到不卡免费一区二区| 欧美四级电影网| 日韩一级完整毛片| 国产女人水真多18毛片18精品视频 | 国产欧美日韩一区二区三区在线观看| 国产欧美日韩中文久久| 亚洲免费在线看| 蜜臀av在线播放一区二区三区| 国产一区二区久久| 91色综合久久久久婷婷| 日韩视频免费直播| 国产精品天天看| 亚洲电影视频在线| 国内精品久久久久影院色| 成人毛片视频在线观看| 欧美日本不卡视频| 久久久久久久久久久久电影| 亚洲精品乱码久久久久久久久| 日韩国产欧美视频| caoporm超碰国产精品| 欧美一区二视频| 中文字幕一区二区视频| 免费在线看成人av| 色综合亚洲欧洲| 国产午夜精品福利| 免费成人美女在线观看.| 一本色道亚洲精品aⅴ| 日韩精品一区在线| 亚洲成人一区二区在线观看| zzijzzij亚洲日本少妇熟睡| 制服.丝袜.亚洲.另类.中文|