Преглед на файлове

fix for empty HolonCanvas table exception

jess преди 7 години
родител
ревизия
2bad2b8789
променени са 2 файла, в които са добавени 11 реда и са изтрити 4 реда
  1. 4 1
      src/ui/controller/UpdateController.java
  2. 7 3
      src/ui/view/HolonCanvas.java

+ 4 - 1
src/ui/controller/UpdateController.java

@@ -361,7 +361,9 @@ public class UpdateController {
 	 */
 	public void paintHolonBody(int id) {
 		if (id != -1) {
-			SubNet sub = controller.getSimManager().getSubNets().get(id);
+			 ArrayList<SubNet> subs = controller.getSimManager().getSubNets();
+			if(!subs.isEmpty()){
+			SubNet sub = subs.get(id);
 			Object[] tempId = { "ID", id };
 			model.getPropertyTable().addRow(tempId);
 			Object[] tempObj = { "Nr. of Objects", sub.getObjects().size() };
@@ -370,6 +372,7 @@ public class UpdateController {
 			model.getPropertyTable().addRow(tempEdg);
 			Object[] tempSwi = { "Nr. of Switches", sub.getSwitches().size() };
 			model.getPropertyTable().addRow(tempSwi);
+			}
 		}
 	}
 

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

@@ -29,6 +29,7 @@ import java.awt.List;
 
 import javax.swing.JComboBox;
 import javax.swing.JMenuBar;
+import java.awt.Label;
 
 public class HolonCanvas extends JPanel implements MouseWheelListener, MouseListener {
 
@@ -60,6 +61,7 @@ public class HolonCanvas extends JPanel implements MouseWheelListener, MouseList
 	private int maxX;
 	private int maxY;
 	private JComboBox<String> combo = new JComboBox<>();
+	private Label lblBodyInfo = new Label();
 	private int comboChoice = 0;
 	private String info;
 	private int bodyNr;
@@ -68,6 +70,9 @@ public class HolonCanvas extends JPanel implements MouseWheelListener, MouseList
 		// Wire up Events
 		this.controller = control;
 		this.model = mod;
+		lblBodyInfo.setForeground(Color.BLACK);
+		lblBodyInfo.setText("Holon Info:");
+		add(lblBodyInfo);
 		this.add(combo);
 		subnets = controller.getSimManager().getSubNets();
 		subCount = subnets.size();
@@ -108,7 +113,6 @@ public class HolonCanvas extends JPanel implements MouseWheelListener, MouseList
 			maxX = center.width;
 			maxY = center.height;
 			addNewBodies(subCount);
-
 		}
 
 		currentTime = System.currentTimeMillis();
@@ -160,7 +164,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+1, maxY+1, 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,7 +306,7 @@ 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{
+			} else {
 				controller.addSelectedHolonBody(-1);
 			}
 		}