ソースを参照

HolonCanvas table fix

jess 7 年 前
コミット
5ad9a92789
2 ファイル変更14 行追加11 行削除
  1. 11 10
      src/ui/controller/UpdateController.java
  2. 3 1
      src/ui/view/HolonCanvas.java

+ 11 - 10
src/ui/controller/UpdateController.java

@@ -358,16 +358,17 @@ public class UpdateController {
 	 *            ID of the selected HolonBody
 	 */
 	public void paintHolonBody(int id) {
-		SubNet sub = controller.getSimManager().getSubNets().get(id);
-		Object[] tempId = { "ID", id };
-		model.getPropertyTable().addRow(tempId);
-		Object[] tempObj = { "Nr. of Objects", sub.getObjects().size() };
-		model.getPropertyTable().addRow(tempObj);
-		Object[] tempEdg = { "Nr. of Edges", sub.getEdges().size() };
-		model.getPropertyTable().addRow(tempEdg);
-		Object[] tempSwi = { "Nr. of Switches", sub.getSwitches().size() };
-		model.getPropertyTable().addRow(tempSwi);
-
+		if (id != -1) {
+			SubNet sub = controller.getSimManager().getSubNets().get(id);
+			Object[] tempId = { "ID", id };
+			model.getPropertyTable().addRow(tempId);
+			Object[] tempObj = { "Nr. of Objects", sub.getObjects().size() };
+			model.getPropertyTable().addRow(tempObj);
+			Object[] tempEdg = { "Nr. of Edges", sub.getEdges().size() };
+			model.getPropertyTable().addRow(tempEdg);
+			Object[] tempSwi = { "Nr. of Switches", sub.getSwitches().size() };
+			model.getPropertyTable().addRow(tempSwi);
+		}
 	}
 
 }

+ 3 - 1
src/ui/view/HolonCanvas.java

@@ -160,7 +160,7 @@ public class HolonCanvas extends JPanel implements MouseWheelListener, MouseList
 		bodies = newBodies;
 		for (int i = bodies.size(); i < subCount; i++) {
 			float radius = (subnets.get(i).getObjects().size() * 5 + 10) * controller.getHolonBodyScale() / 100;
-			HolonBody temp = new HolonBody(maxX + radius, maxY + radius, radius,
+			HolonBody temp = new HolonBody(maxX+1, maxY+1, radius,
 					(float) Math.pow((subnets.get(i).getObjects().size() + 1) * 5, 3), model.getSubNetColors().get(i));
 			temp.setId(i);
 			bodies.add(temp);
@@ -302,6 +302,8 @@ public class HolonCanvas extends JPanel implements MouseWheelListener, MouseList
 			float cr = bodies.get(i).getRadius();
 			if (e.getX() - cr <= cx && e.getY() - cr <= cy && e.getX() + cr >= cx && e.getY() + cr >= cy) {
 				controller.addSelectedHolonBody(bodies.get(i).getId());
+			}else{
+				controller.addSelectedHolonBody(-1);
 			}
 		}
 	}