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

📄 xpdltreecellrenderer.java

📁 jawe的最新版本,基于Java的图形化工作流编辑器。图形化工作流编辑器 。使用JAVA语言开发
💻 JAVA
字号:
package org.enhydra.jawe.components;import java.awt.Component;import java.util.HashSet;import java.util.Iterator;import java.util.List;import java.util.Set;import javax.swing.Icon;import javax.swing.ImageIcon;import javax.swing.JTree;import javax.swing.tree.DefaultMutableTreeNode;import javax.swing.tree.DefaultTreeCellRenderer;import org.enhydra.jawe.CombinedIcon;import org.enhydra.jawe.JaWEComponent;import org.enhydra.jawe.JaWEManager;import org.enhydra.jawe.ResourceManager;import org.enhydra.jawe.Utils;import org.enhydra.jawe.base.controller.JaWEType;import org.enhydra.jawe.base.xpdlvalidator.ValidationError;import org.enhydra.shark.xpdl.XMLElement;import org.enhydra.shark.xpdl.XMLUtil;import org.enhydra.shark.xpdl.XMLValidationError;import org.enhydra.shark.xpdl.elements.Activity;/** *  Used to paint Package hierarchy tree. *  *  @author Sasa Bojanic *  @author Miroslav Popov */public class XPDLTreeCellRenderer extends DefaultTreeCellRenderer {   protected JaWEComponent owner;   protected Icon defaultImage;   protected Icon warning;   protected Icon error;      protected Set errors = new HashSet();   protected Set warnings = new HashSet();      public XPDLTreeCellRenderer(JaWEComponent comp) {      super();      this.owner = comp;      try {         defaultImage = new ImageIcon(ResourceManager.class.getClassLoader().getResource("org/enhydra/jawe/images/default.gif"));         warning = new ImageIcon(ResourceManager.class.getClassLoader().getResource("org/enhydra/jawe/images/warning_icon_small.gif"));         error = new ImageIcon(ResourceManager.class.getClassLoader().getResource("org/enhydra/jawe/images/error_icon_small.gif"));      } catch (Exception e) {               }   }      public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf,         int row, boolean pHasFocus) {      super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, pHasFocus);      DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;      Object userObj = node.getUserObject();            boolean err = false;      boolean war = false;            if (warnings.contains(userObj))         war = true;      if (errors.contains(userObj))         err = true;            Icon image = null;      JaWEType jtype = null;      if (userObj instanceof XMLElement)         jtype = JaWEManager.getInstance().getJaWEController().getTypeResolver().getJaWEType((XMLElement)userObj);            if (jtype != null) {         if (err) {            //            image = jtype.getErrorIcon();            image=new CombinedIcon(getIcon((XMLElement)userObj, jtype),error);         } else if (war) {            image=new CombinedIcon(getIcon((XMLElement)userObj, jtype),warning);//               image = jtype.getWarningIcon();         } else             image = getIcon((XMLElement)userObj, jtype);               }       if (image == null) {         if (err) {//            image = error;            image=new CombinedIcon(defaultImage,error);         } else if (war) {//            image = warning;            image=new CombinedIcon(defaultImage,warning);         } else {            image = defaultImage;         }      }                  setIcon(image);      return this;   }      public void setValidationErrors(List verrors) {      Set serr=new HashSet();      Set swarn=new HashSet();      if (verrors!=null) {         for (int i=0; i<verrors.size(); i++) {            ValidationError verr=(ValidationError)verrors.get(i);            if (verr.getType().equals(XMLValidationError.TYPE_ERROR)) {               serr.add(verr.getElement());            } else {               swarn.add(verr.getElement());                           }         }      }      this.errors = new HashSet(serr);      this.warnings = new HashSet(swarn);            Iterator it=serr.iterator();      while (it.hasNext()) {         XMLElement el=(XMLElement)it.next();         this.errors.addAll(XMLUtil.getAllParents(el));      }            it=swarn.iterator();      while (it.hasNext()) {         XMLElement el=(XMLElement)it.next();         this.warnings.addAll(XMLUtil.getAllParents(el));      }         }      public void setErrors (Set errs) {      this.errors=errs;   }   public Set getErrors () {      return errors;   }   public void setWarnings (Set wrns) {      this.warnings=wrns;   }   public Set getWarnings () {      return warnings;   }      public ImageIcon getIcon(XMLElement el,JaWEType jtype) {      if (el instanceof Activity) {         String icon = ((Activity)el).getIcon();         ImageIcon ii = null;         if (!icon.equals("")) {            ii=(ImageIcon)Utils.getOriginalActivityIconsMap().get(icon);         }         if (ii == null) {            ii = jtype.getIcon();         }         return ii;               }      return jtype.getIcon();   }}

⌨️ 快捷键说明

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