📄 processpanel.java
字号:
{
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 + -