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

📄 processpanel.java

📁 java xml 应用开发
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                {
                    partOne = partTwo;
                    vSorted.add(i, partTwo);
                    
                    if (((ProcessPart) vSorted.get(j + 1)).getElem().getID().equals(partTwo.getElem().getID()))
                        vSorted.remove(j + 1);
                    else
                    {
                        for (int n = 0; n < vSorted.size(); n++)
                        {
                            if (partTwo.getElem().getID().equals(((ProcessPart) vSorted.get(n)).getElem().getID()))
                            {
                                if (n < i)
                                    vSorted.remove(i);
                            }
                        }
                    }
                }
            }
        }
        for (int i = 0; i < vUnsorted.size(); i++)
        {
            vSorted.add(0, vUnsorted.get(i));
        }
        return vSorted;
    }
    /**
     * Checks if the current node has any resources that previously have been added to the ProcessPanel
     * @param vPrevNodes
     * @param node
     * @return Vector
     */
    public Vector comparePrevious(Vector vPrevNodes, ProcessPart node)
    {
        final Vector vPrev = new Vector();
        //Vector newRes = node.getvAllRes();
        final Vector vNodeInRes = node.getvInRes();

        for (int i = 0; i < vPrevNodes.size(); i++)
        {
            boolean shareRes = false;
            boolean add      = false;
            final ProcessPart prevNode = (ProcessPart) vPrevNodes.get(i);
            final Vector vPrevInRes = prevNode.getvInRes();
            final Vector vPrevOutRes = prevNode.getvOutRes();
            
            check : for (int j = 0; j < vPrevInRes.size(); j++)
            {
                final ProcessPart prevInPart = (ProcessPart) vPrevInRes.get(j);
                final String rRefIn = prevInPart.getElem().getID();
                
                if (!rRefIn.equals(""))
                {
                    for (int n = 0; n < vNodeInRes.size(); n++)
                    {
                        final ProcessPart inRes = (ProcessPart) vNodeInRes.get(n);
                        
                        if (inRes.getElem().getID().equals(rRefIn))
                        {
                            shareRes = true;
                            prevNode.setSharedInput(true);
                            break check;
                        }
                    }
                }
            }
            check : for (int j = 0; j < vPrevOutRes.size(); j++)
            {
                if (shareRes) break check;
                final ProcessPart prevOutPart = (ProcessPart) vPrevOutRes.get(j);
                final String rRefOut = prevOutPart.getElem().getID();
                
                if (!rRefOut.equals(""))
                {
                    for (int n = 0; n < vNodeInRes.size(); n++)
                    {
                        final ProcessPart inRes = (ProcessPart) vNodeInRes.get(n);
                        
                        if (inRes.getElem().getID().equals(rRefOut))
                        {
                            shareRes = true;
                            prevNode.setSharedInput(true);
                            break check;
                        }
                    }
                }
            }
            if (shareRes)
            {
                if (vPrev.isEmpty())
                    vPrev.add(prevNode);
                else
                {
                    check : for (int j = 0; j < vPrev.size(); j++)
                    {
                        if (!vPrev.get(j).equals(prevNode))
                        {
                            add = true;
                            break check;
                        }
                    }
                    if (add)
                        vPrev.add(prevNode);
                }
            }
            
            /*ProcessPart prevNode = (ProcessPart) vPrevNodes.get(i);
            Vector vPrevRes = prevNode.getvAllRes();
            
            boolean shareRes = false, add = false;
            
            check : for (int j = 0; j < vPrevRes.size(); j++)
            {
                ProcessPart prevPart = (ProcessPart) vPrevRes.get(j);
                JDFElement prevLink = prevPart.getElem();
                String rRefPrev = prevLink.getID();
                
                if (!rRefPrev.equals(""))
                {
                    if (prevLink.getAttribute("Usage", "", "").equals("Output"))
                    {                        
                        search : for (int n = 0; n < newRes.size(); n++)
                        {
                            ProcessPart newPart = (ProcessPart) newRes.get(n);
                            
                            if (newPart.getElem().getAttribute("Usage", "", "").equals("Input"))
                            {
                                if (newPart.getElem().getID().equals(rRefPrev))
                                {
                                    shareRes = true;
                                    break search;
                                }
                            }
                        }
                    }
                    else if (prevLink.getAttribute("Usage", "", "").equals("Input"))
                    {
                        for (int n = 0; n < newRes.size(); n++)
                        {
                            ProcessPart newPart = (ProcessPart) newRes.get(n);
                            
                            if (newPart.getElem().getAttribute("Usage", "", "").equals("Input"))
                            {
                                if (newPart.getElem().getID().equals(rRefPrev))
                                {
                                    shareRes = true;
                                    prevNode.setSharedInput(true);
                                    break check;
                                }
                            }
                        }
                    }
                }
            }
            if (shareRes)
            {
                if (vPrev.isEmpty())
                    vPrev.add(prevNode);
                else
                {
                    check : for (int j = 0; j < vPrev.size(); j++)
                    {
                        if (!((ProcessPanel) vPrev.get(j)).equals(prevNode))
                        {
                            add = true;
                            break check;
                        }
                    }
                    if (add)
                        vPrev.add(prevNode);
                }
            }*/
        }
        return vPrev;
    }
    
    public void addPart(Object part)
    {
        this.vParts.add(part);
    }
    
    public Font getFont(ProcessPart fpp)
    {
        if (fpp.getName().equals("ResPart"))
            return resourceFont;
            
        else if (fpp.getName().equals("ParentPart"))
            return parentFont;
            
        else return procFont;
    }
    
    public FontMetrics getFM(ProcessPart fpp)
    {
        if (fpp.getName().equals("ResPart"))
            return getFontMetrics(resourceFont);
            
        else if (fpp.getName().equals("ParentPart"))
            return getFontMetrics(parentFont);
            
        else return getFontMetrics(procFont);
    }

    public void addPoint(Point p)
    {
        vPoints.add(p);
    }
    
    public void addDirPoint(Point p)
    {
        vDirPoints.add(p);
    }
    
    public void setParent(ProcessPart parent)
    {
        this.parent = parent;
    }

    public void setZoom(double zoom)
    {
        this.zoom = zoom;
    }
    public double getZoom()
    {
        return this.zoom;
    }
    public void zoom()
    {
        revalidate();
        repaint();
        width *= zoom;
        height *= zoom;
        setPreferredSize(new Dimension(width, height));
    }
    public void clear()
    {
        vPoints.clear();
        vDirPoints.clear();
        vParts.clear();
        parent = null;
        setZoom(1.0);
        setLayout(null);
        removeAll();
        setBackground(Color.white);
    }
}

⌨️ 快捷键说明

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