|
@@ -72,7 +72,7 @@ public class UpperNodeCanvas extends AbstractCanvas implements MouseListener, Mo
|
|
|
scalediv20 = model.getScale() / 20;
|
|
|
|
|
|
// Cps objecte aus dem border links schieben
|
|
|
- upperNode.setLeftBorder((int) (50 + scalediv20 + scalediv20 + 10));
|
|
|
+ upperNode.setLeftBorder(/*(int) (50 + scalediv20 + scalediv20 + 10)*/ 0);
|
|
|
for (AbstractCpsObject cps : upperNode.getNodes()) {
|
|
|
if (cps.getPosition().x < model.getScaleDiv2() + upperNode.getLeftBorder() + 5) {
|
|
|
cps.setPosition(
|
|
@@ -555,57 +555,7 @@ public class UpperNodeCanvas extends AbstractCanvas implements MouseListener, Mo
|
|
|
for(DecoratedCable cable : actualGroupNode.getInternCableList()) {
|
|
|
paintCable(g2d, cable, selectedEdges.contains(cable.getModel()));
|
|
|
}
|
|
|
- //ExitCable:
|
|
|
-// for(ExitCable exitCable : actualGroupNode.getExitCableList()) {
|
|
|
-// Position start = exitCable.getInsideObject().getPosition();
|
|
|
-// Position end = exitCable.getOusideObject().getPosition();
|
|
|
-// Vector2d vStart = new Vector2d(start.x, start.y);
|
|
|
-// Vector2d vEnd = new Vector2d(end.x, end.y);
|
|
|
-// float stretchFactor = 4 * model.getScale();
|
|
|
-// stretchFactor = (stretchFactor > vStart.getDistance(vEnd))? vStart.getDistance(vEnd) : stretchFactor;
|
|
|
-// Vector2d vPosition = vStart.add((vEnd.subtract(vStart)).normalize().multiply(stretchFactor));// vStart + (direction to end) * magnitude;
|
|
|
-// float currentEnergy = exitCable.getCable().getFlowEnergy();
|
|
|
-// float capacity = exitCable.getModel().getCapacity();
|
|
|
-// switch(exitCable.getCable().getState()) {
|
|
|
-// case Burned:
|
|
|
-// g2d.setColor(Color.RED);
|
|
|
-// g2d.setStroke(new BasicStroke(2));
|
|
|
-// break;
|
|
|
-// case Working:
|
|
|
-// g2d.setColor(new Color(13, 175, 28));
|
|
|
-// g2d.setStroke(new BasicStroke((currentEnergy / capacity* 2f) + 1));
|
|
|
-// break;
|
|
|
-// }
|
|
|
-// Position result = new Position(Math.round(vPosition.getX()),Math.round(vPosition.getY()));
|
|
|
-// g2d.drawLine(start.x, start.y, result.x, result.y);
|
|
|
-// Position middle = new Position((start.x +result.x) / 2, (start.y + +result.y) / 2);
|
|
|
-// g2d.setFont(new Font("TimesRoman", Font.PLAIN, Math.max((int) (controller.getScale() / 3.5f), 10) ));
|
|
|
-// g2d.drawString(currentEnergy + "/" + capacity , middle.x, middle.y);
|
|
|
-// drawCanvasObject(g2d, "/Images/arrowUp.png" , result);
|
|
|
- //Get Window:
|
|
|
-// int scale = controller.getScale() * 2 ;
|
|
|
-// g2d.drawRect(result.x - scale/2 - 1 , result.y - scale/2 -1 ,scale + 2,scale + 2);
|
|
|
-// Position groupNode = exitCable.getCpsUpperNode().getPosition();
|
|
|
-// Position outSideNode = exitCable.getOusideObject().getPosition();;
|
|
|
-// int smallX, smallY, bigX, bigY;
|
|
|
-// smallX = Math.min(groupNode.x, outSideNode.x) - controller.getScaleDiv2() ;
|
|
|
-// smallY = Math.min(groupNode.y, outSideNode.y) - controller.getScaleDiv2();
|
|
|
-// bigX = Math.max(groupNode.x, outSideNode.x)+ controller.getScaleDiv2();
|
|
|
-// bigY = Math.max(groupNode.y, outSideNode.y)+ controller.getScaleDiv2();
|
|
|
-// smallX = groupNode.x - controller.getScaleDiv2() * 3;
|
|
|
-// smallY = groupNode.y - controller.getScaleDiv2() * 3;
|
|
|
-// bigX = groupNode.x + controller.getScaleDiv2() * 3;
|
|
|
-// bigY = groupNode.y + controller.getScaleDiv2() * 3;
|
|
|
-// smallX= (smallX < 0) ? 0: smallX;
|
|
|
-// smallY = (smallY < 0) ? 0: smallY;
|
|
|
-// bigX = (bigX < parentPreview.getWidth()) ? bigX : parentPreview.getWidth();
|
|
|
-// bigY = (bigY < parentPreview.getHeight()) ? bigY : parentPreview.getHeight();
|
|
|
-// float aspectratio = ((float)bigX-smallX) / ((float)bigY-smallY);
|
|
|
-// g2d.drawImage(parentPreview.getSubimage(smallX, smallY,bigX-smallX,bigY-smallY).getScaledInstance(Math.round(((float)scale) * aspectratio), Math.round(((float)scale) / aspectratio), Image.SCALE_SMOOTH),
|
|
|
-// result.x - scale/2,
|
|
|
-// result.y - scale/2,
|
|
|
-// scale, scale , null);
|
|
|
-// }
|
|
|
+
|
|
|
|
|
|
for(DecoratedGroupNode dGroupNode : actualGroupNode.getGroupNodeList()) {
|
|
|
paintGroupNode(g2d, dGroupNode);
|
|
@@ -667,252 +617,7 @@ public class UpperNodeCanvas extends AbstractCanvas implements MouseListener, Mo
|
|
|
}
|
|
|
//<-- OldCode
|
|
|
}
|
|
|
-
|
|
|
-// ((JScrollPane) this.getParent().getParent()).setColumnHeaderView(breadCrumb);
|
|
|
-// // Rendering
|
|
|
-// g2 = (Graphics2D) g;
|
|
|
-// RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
|
|
|
-// g2.setRenderingHints(rh);
|
|
|
-//
|
|
|
-// // Paint the Background
|
|
|
-// if (!upperNode.getImagePath().isEmpty()) {
|
|
|
-// img = new ImageIcon(upperNode.getImagePath()).getImage();
|
|
|
-// switch (upperNode.getBackgroundMode()) {
|
|
|
-// case BackgroundPopUp.IMAGE_PIXELS:
|
|
|
-// g2.drawImage(img, upperNode.getLeftBorder(), 0, img.getWidth(null), img.getHeight(null), null);
|
|
|
-// break;
|
|
|
-// case BackgroundPopUp.STRETCHED:
|
|
|
-// g2.drawImage(img, upperNode.getLeftBorder(), 0, model.getCanvasX(), model.getCanvasY(), null);
|
|
|
-// break;
|
|
|
-// case BackgroundPopUp.CUSTOM:
|
|
|
-// g2.drawImage(img, upperNode.getLeftBorder(), 0, upperNode.getImageWidht(), upperNode.getImageHeight(),
|
|
|
-// null);
|
|
|
-// break;
|
|
|
-// default:
|
|
|
-// break;
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
-// // Draw Left Border
|
|
|
-// g2.setColor(new Color(230, 230, 230));
|
|
|
-// g2.fillRect(0, 0, upperNode.getLeftBorder(), this.getHeight());
|
|
|
-// g2.setColor(Color.BLACK);
|
|
|
-// g2.drawLine(0, 0, this.getWidth(), 0);
|
|
|
-//
|
|
|
-// // Test SubNet Coloring
|
|
|
-// int i = 0;
|
|
|
-// for (SubNet s : controller.getSimManager().getSubNets()) {
|
|
|
-//
|
|
|
-// if (model.getSubNetColors().size() - 1 < i) {
|
|
|
-// controller.addSubNetColor(new Color((int) (Math.random() * 255), (int) (Math.random() * 255),
|
|
|
-// (int) (Math.random() * 255)));
|
|
|
-// }
|
|
|
-//
|
|
|
-// for (HolonObject cps : s.getObjects()) {
|
|
|
-// cps.setBorderColor(model.getSubNetColors().get(i));
|
|
|
-// }
|
|
|
-// i++;
|
|
|
-// }
|
|
|
-//
|
|
|
-// // drawEdges that is being dragged
|
|
|
-// if (drawEdge) {
|
|
|
-// g2.setColor(Color.BLACK);
|
|
|
-// g2.setStroke(new BasicStroke(2));
|
|
|
-//
|
|
|
-// // If TempCps is an outside Object
|
|
|
-// if (!upperNode.getNodes().contains(tempCps)) {
|
|
|
-// int count = 0;
|
|
|
-// for (CpsEdge e : upperNode.getConnections()) {
|
|
|
-// if (e.getA().equals(tempCps)) {
|
|
|
-// g2.drawLine(upperNode.getLeftBorder() >> 1, (int) (model.getScaleDiv2() + scalediv20 + 5
|
|
|
-// + (model.getScale() + scalediv20 + 10) * count), x, y);
|
|
|
-// } else if (e.getB().equals(tempCps)) {
|
|
|
-// g2.drawLine(upperNode.getLeftBorder() >> 1, (int) (model.getScaleDiv2() + scalediv20 + 5
|
|
|
-// + (model.getScale() + scalediv20 + 10) * count), x, y);
|
|
|
-// }
|
|
|
-// count++;
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-// g2.drawLine(tempCps.getPosition().x, tempCps.getPosition().y, x, y);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// // draw Edges
|
|
|
-// for (CpsEdge con : upperNode.getNodeEdges()) {
|
|
|
-// maxCap = paintEdge(con, maxCap);
|
|
|
-// }
|
|
|
-//
|
|
|
-// // Objects connected to upperNode
|
|
|
-// int count = 0;
|
|
|
-// for (CpsEdge e : upperNode.getConnections()) {
|
|
|
-// AbstractCpsObject cps;
|
|
|
-// if (e.getA().equals(this.upperNode)) {
|
|
|
-// cps = e.getB();
|
|
|
-// } else {
|
|
|
-// cps = e.getA();
|
|
|
-// }
|
|
|
-// // Show and Highlight
|
|
|
-// if (model.getSelectedCpsObjects().contains(cps) || showedInformation[4]) {
|
|
|
-// for (CpsEdge ed : cps.getConnections()) {
|
|
|
-// AbstractCpsObject obj = null;
|
|
|
-// if (upperNode.getNodes().contains(ed.getA())) {
|
|
|
-// obj = ed.getA();
|
|
|
-// } else if (upperNode.getNodes().contains(ed.getB())) {
|
|
|
-// obj = ed.getB();
|
|
|
-// }
|
|
|
-// if (obj != null) {
|
|
|
-// if (ed.getConnected() == 0) {
|
|
|
-//
|
|
|
-// setEdgeState(ed);
|
|
|
-//
|
|
|
-// if (ed.getA().getId() == model.getSelectedObjectID()
|
|
|
-// || ed.getB().getId() == model.getSelectedObjectID() || edgeHighlight == ed)
|
|
|
-// g2.setColor(Color.BLUE);
|
|
|
-// } else {
|
|
|
-// g2.setColor(Color.DARK_GRAY);
|
|
|
-// g2.setStroke(new BasicStroke(2));
|
|
|
-// }
|
|
|
-// g2.drawLine(obj.getPosition().x, obj.getPosition().y, (upperNode.getLeftBorder() >> 1),
|
|
|
-// (int) (scalediv20 + 5 + (50 + scalediv20 + 10) * count) + 25);
|
|
|
-// if (showedInformation[0]) {
|
|
|
-//
|
|
|
-// maxCap = setCapacityString(ed, maxCap);
|
|
|
-//
|
|
|
-// if (ed.getConnected() == 0 || ed.getConnected() == 1) {
|
|
|
-// g2.drawString(ed.getFlow() + "/" + maxCap,
|
|
|
-// (obj.getPosition().x + (upperNode.getLeftBorder() >> 1)) / 2,
|
|
|
-// (obj.getPosition().y + (int) (scalediv20 + 5 + (50 + scalediv20 + 10) * count)
|
|
|
-// + 25) / 2);
|
|
|
-// } else {
|
|
|
-// g2.drawString("not connected",
|
|
|
-// (obj.getPosition().x + (upperNode.getLeftBorder() >> 1)) / 2,
|
|
|
-// (obj.getPosition().y + (int) (scalediv20 + 5 + (50 + scalediv20 + 10) * count)
|
|
|
-// + 25) / 2);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
-// // Border Highlighting
|
|
|
-// if (showedInformation[3]) {
|
|
|
-// g2.setColor(cps.getBorderColor());
|
|
|
-// if (g2.getColor() != Color.WHITE) {
|
|
|
-// g2.fillRect((int) ((upperNode.getLeftBorder() >> 1) - 25 - scalediv20) - 3,
|
|
|
-// (int) (scalediv20 + 5 + (25 + scalediv20 + 10) * count - scalediv20) - 3,
|
|
|
-// (int) (50 + ((scalediv20 + 3) * 2)), (int) (50 + ((scalediv20 + 3) * 2)));
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
-// // node image
|
|
|
-// if (cps instanceof CpsNode && (cps == tempCps || model.getSelectedCpsObject() == cps
|
|
|
-// || model.getSelectedCpsObjects().contains(cps) || tempSelected.contains(cps))) {
|
|
|
-// img = Util.loadImage("/Images/node_selected.png");
|
|
|
-// } else {
|
|
|
-// if (cps instanceof HolonSwitch) {
|
|
|
-// if (((HolonSwitch) cps).getState(model.getCurIteration())) {
|
|
|
-// ((HolonSwitch) cps).setAutoState(true);
|
|
|
-// } else {
|
|
|
-// ((HolonSwitch) cps).setAutoState(false);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// // Highlighting
|
|
|
-// if ((cps == tempCps && model.getSelectedCpsObjects().size() == 0 && tempSelected.size() == 0)
|
|
|
-// || model.getSelectedCpsObjects().contains(cps) || tempSelected.contains(cps)) {
|
|
|
-// g2.setColor(Color.BLUE);
|
|
|
-// g2.fillRect((int) ((upperNode.getLeftBorder() >> 1) - 25 - scalediv20),
|
|
|
-// (int) (scalediv20 + 5 + (50 + scalediv20 + 10) * count - scalediv20),
|
|
|
-// (int) (50 + (scalediv20 * 2)), (int) (50 + (scalediv20 * 2)));
|
|
|
-// } else if (cps instanceof HolonObject) {
|
|
|
-// g2.setColor(((HolonObject) cps).getColor());
|
|
|
-//
|
|
|
-// g2.fillRect((int) ((upperNode.getLeftBorder() >> 1) - 25 - scalediv20),
|
|
|
-// (int) (scalediv20 + 5 + (50 + scalediv20 + 10) * count - scalediv20),
|
|
|
-// (int) (50 + (scalediv20 * 2)), (int) (50 + (scalediv20 * 2)));
|
|
|
-// }
|
|
|
-// // draw image
|
|
|
-// File checkPath = new File(cps.getImage());
|
|
|
-// if (checkPath.exists()) {
|
|
|
-// img = new ImageIcon(cps.getImage()).getImage();
|
|
|
-// } else {
|
|
|
-// img = Util.loadImage(cps.getImage());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// g2.drawImage(img, (upperNode.getLeftBorder() >> 1) - 25,
|
|
|
-// (int) (scalediv20 + 5 + (50 + scalediv20 + 10) * count), 50, 50, null);
|
|
|
-// count++;
|
|
|
-// }
|
|
|
-// // Highlighted Edge
|
|
|
-// if (model.getSelectedObjectID() > 0 || !model.getSelectedCpsObjects().isEmpty() || !tempSelected.isEmpty()) {
|
|
|
-// g2.setColor(Color.BLUE);
|
|
|
-// for (CpsEdge con : upperNode.getNodeEdges()) {
|
|
|
-// if (con.getFlow() <= con.getCapacity()) {
|
|
|
-// g2.setStroke(new BasicStroke(Math.min((con.getFlow() / con.getCapacity() * 3) + 1, 4)));
|
|
|
-// } else {
|
|
|
-// g2.setStroke(new BasicStroke(2));
|
|
|
-// }
|
|
|
-//
|
|
|
-// maxCap = drawEdgeLine(con, maxCap);
|
|
|
-// }
|
|
|
-// } else if (edgeHighlight != null) {
|
|
|
-// g2.setColor(Color.BLUE);
|
|
|
-// if (edgeHighlight.getFlow() <= edgeHighlight.getCapacity()) {
|
|
|
-// g2.setStroke(
|
|
|
-// new BasicStroke(Math.min((edgeHighlight.getFlow() / edgeHighlight.getCapacity() * 3) + 1, 4)));
|
|
|
-// } else {
|
|
|
-// g2.setStroke(new BasicStroke(2));
|
|
|
-// }
|
|
|
-// if (upperNode.getNodeEdges().contains(edgeHighlight)) {
|
|
|
-// g2.drawLine(edgeHighlight.getA().getPosition().x, edgeHighlight.getA().getPosition().y,
|
|
|
-// edgeHighlight.getB().getPosition().x, edgeHighlight.getB().getPosition().y);
|
|
|
-//
|
|
|
-// maxCap = setCapacityString(edgeHighlight, maxCap);
|
|
|
-//
|
|
|
-// if (showedInformation[0]) {
|
|
|
-// g2.drawString(edgeHighlight.getFlow() + "/" + maxCap,
|
|
|
-// (edgeHighlight.getA().getPosition().x + edgeHighlight.getB().getPosition().x) / 2,
|
|
|
-// (edgeHighlight.getA().getPosition().y + edgeHighlight.getB().getPosition().y) / 2);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
-//
|
|
|
-// //Draw ReplaceHighlight
|
|
|
-// highlightMayBeReplaced(g2);
|
|
|
-//
|
|
|
-// // Objects in upper node
|
|
|
-// for (AbstractCpsObject cps : upperNode.getNodes()) {
|
|
|
-// // Border Highlighting
|
|
|
-// if (showedInformation[3]) {
|
|
|
-// g2.setColor(cps.getBorderColor());
|
|
|
-// if (g2.getColor() != Color.WHITE) {
|
|
|
-// g2.fillRect((int) (cps.getPosition().x - controller.getScaleDiv2() - scalediv20 - 3),
|
|
|
-// (int) (cps.getPosition().y - model.getScaleDiv2() - scalediv20 - 3),
|
|
|
-// (int) (controller.getScale() + ((scalediv20 + 3) * 2)),
|
|
|
-// (int) (controller.getScale() + ((scalediv20 + 3) * 2)));
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
-// setEdgePictureAndHighlighting(cps);
|
|
|
-//
|
|
|
-// g2.drawImage(img, cps.getPosition().x - model.getScaleDiv2(), cps.getPosition().y - model.getScaleDiv2(),
|
|
|
-// controller.getScale(), controller.getScale(), null);
|
|
|
-// paintSupplyBar(g2,cps);
|
|
|
-// }
|
|
|
-//
|
|
|
-// // Dragged marker Highlighting
|
|
|
-// g2.setStroke(new BasicStroke(1));
|
|
|
-// if (doMark) {
|
|
|
-// g2.setColor(Color.BLACK);
|
|
|
-// drawMarker();
|
|
|
-// }
|
|
|
-//
|
|
|
-// // Border Line
|
|
|
-// g2.setColor(Color.BLACK);
|
|
|
-// g2.drawLine(upperNode.getLeftBorder(), 0, upperNode.getLeftBorder(), this.getHeight());
|
|
|
-//
|
|
|
-// // Tooltip
|
|
|
-// showTooltip(g);
|
|
|
-
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public void mouseClicked(MouseEvent e) {
|
|
@@ -1170,7 +875,7 @@ public class UpperNodeCanvas extends AbstractCanvas implements MouseListener, Mo
|
|
|
if(model.getSelectedCpsObjects().size()==1)
|
|
|
checkForReplacement(upperNode.getNodes(), tempCps, x, y);
|
|
|
|
|
|
- repaint();
|
|
|
+ repaint();
|
|
|
} catch (Exception eex) {
|
|
|
|
|
|
}
|
|
@@ -1235,7 +940,6 @@ public class UpperNodeCanvas extends AbstractCanvas implements MouseListener, Mo
|
|
|
public void mouseMoved(MouseEvent e) {
|
|
|
x = e.getX();
|
|
|
y = e.getY();
|
|
|
-
|
|
|
// Everything for the tooltip :)
|
|
|
boolean on = false;
|
|
|
for (AbstractCpsObject cps : upperNode.getNodes()) {
|
|
@@ -1322,6 +1026,24 @@ public class UpperNodeCanvas extends AbstractCanvas implements MouseListener, Mo
|
|
|
} else {
|
|
|
controller.addEdgeUpperNode(e, upperNode);
|
|
|
}
|
|
|
+ }else if (cps instanceof CpsUpperNode && !(tempCps instanceof CpsUpperNode)){
|
|
|
+ CpsUpperNode thisUpperNode = (CpsUpperNode)cps;
|
|
|
+ Object[] possibilities = thisUpperNode.getNodes().stream().map(aCps -> new ACpsHandle(aCps)).filter(aCpsHandle -> !(aCpsHandle.object instanceof CpsUpperNode)).toArray();
|
|
|
+ if(possibilities.length != 0) {
|
|
|
+ ACpsHandle selected = (ACpsHandle) JOptionPane.showInputDialog(this, "Select a inside Object:", "Connection To?", JOptionPane.OK_OPTION,new ImageIcon(new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB)) , possibilities, "");
|
|
|
+ if(selected != null) {
|
|
|
+ e = new CpsEdge(selected.object, tempCps, model.getMaxCapacity());
|
|
|
+ controller.addEdgeUpperNode(e, (CpsUpperNode)cps);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ CpsNode n = new CpsNode("Node");
|
|
|
+
|
|
|
+ n.setPosition(x, y);
|
|
|
+ controller.addObjUpperNode(n, thisUpperNode);
|
|
|
+ e = new CpsEdge(n, tempCps, model.getMaxCapacity());
|
|
|
+ controller.addEdgeUpperNode(e, (CpsUpperNode)cps);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1523,23 +1245,7 @@ public class UpperNodeCanvas extends AbstractCanvas implements MouseListener, Mo
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
-// /**
|
|
|
-// * sets the Edge Capacity.
|
|
|
-// *
|
|
|
-// * @param cap capacity
|
|
|
-// */
|
|
|
-// public void setEdgeCapacity(float cap) {
|
|
|
-// controller.setMaxCapacity(cap);
|
|
|
-// }
|
|
|
-
|
|
|
-// /**
|
|
|
-// * Returns if Information should be shown.
|
|
|
-// *
|
|
|
-// * @return Array of boolean [0] = connection, [1] = objects
|
|
|
-// */
|
|
|
-// public boolean[] getShowedInformation() {
|
|
|
-// return showedInformation;
|
|
|
-// }
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* copies a set of given informations
|
|
@@ -1550,17 +1256,6 @@ public class UpperNodeCanvas extends AbstractCanvas implements MouseListener, Mo
|
|
|
showedInformation = informations;
|
|
|
}
|
|
|
|
|
|
-// /**
|
|
|
-// * Set the Background Image;
|
|
|
-// *
|
|
|
-// * @param imagePath Image Path
|
|
|
-// * @param mode Image Mode
|
|
|
-// * @param width Image custom width
|
|
|
-// * @param height Image custom height
|
|
|
-// */
|
|
|
-// public void setBackgroundImage(String imagePath, int mode, int width, int height) {
|
|
|
-// upperNode.setBackgroundImage(imagePath, mode, width, height);
|
|
|
-// }
|
|
|
|
|
|
/**
|
|
|
* set tooltIp
|