Jelajahi Sumber

centered Strings on HolonBodys + more options to display on HolonBodys

jess 7 tahun lalu
induk
melakukan
70a264ba37
3 mengubah file dengan 16 tambahan dan 19 penghapusan
  1. 1 2
      src/classes/HolonBody.java
  2. 0 15
      src/classes/SubNet.java
  3. 15 2
      src/ui/view/HolonCanvas.java

+ 1 - 2
src/classes/HolonBody.java

@@ -40,8 +40,7 @@ public class HolonBody implements Comparable<HolonBody> {
 				(int) (2 * getRadius()), (int) (2 * getRadius()));
 		g2.setFont(new Font("TimesRoman", Font.PLAIN, (int) radius));
 		g2.setColor(Color.WHITE);
-		g2.drawString(info, position.getX() - radius / 2 + 2, position.getY() + radius / 2 - 2);
-
+		g2.drawString(info, position.getX() - g2.getFontMetrics().stringWidth(info)/2, position.getY() + g2.getFontMetrics().getHeight()/3 );
 	}
 
 	public void setRadius(float radius) {

+ 0 - 15
src/classes/SubNet.java

@@ -12,7 +12,6 @@ public class SubNet {
 	private ArrayList<HolonObject> subNetObjects;
 	private ArrayList<CpsEdge> subNetEdges;
 	private ArrayList<HolonSwitch> subNetSwitches;
-	private Position pos;
 	/**
 	 * Constructor for a Subnet.
 	 * 
@@ -54,18 +53,4 @@ public class SubNet {
 	public ArrayList<HolonSwitch> getSwitches() {
 		return subNetSwitches;
 	}
-
-
-	public Position getPos() {
-		return pos;
-	}
-
-	public void setPos(Position pos) {
-		this.pos = pos;
-	}
-	
-	public void setPos(int x, int y){
-		this.pos.x = x;
-		this.pos.y = y;
-	}
 }

+ 15 - 2
src/ui/view/HolonCanvas.java

@@ -59,6 +59,7 @@ public class HolonCanvas extends JPanel implements MouseWheelListener {
 	private JComboBox<String> combo = new JComboBox<>();
 	private int comboChoice = 0;
 	private String info;
+	private int bodyNr;
 
 	public HolonCanvas(Model mod, Control control) {
 		// Wire up Events
@@ -73,6 +74,9 @@ public class HolonCanvas extends JPanel implements MouseWheelListener {
 		frameCount = 0;
 		this.addMouseWheelListener(this);
 		combo.addItem("ID");
+		combo.addItem("Nr. of Objects");
+		combo.addItem("Nr. of Edges");
+		combo.addItem("Nr. of Switches");
 
 		combo.addActionListener(new ActionListener() {
 			@Override
@@ -175,11 +179,20 @@ public class HolonCanvas extends JPanel implements MouseWheelListener {
 
 		// Render Game Objects
 		for (int i = 0; i < subCount; i++) {
+			bodyNr = bodies.get(i).getId();
 			switch (comboChoice) {
 			case 0:
-				info = "" + bodies.get(i).getId();
+				info = "" + bodyNr;
+				break;
+			case 1:
+				info = "" + subnets.get(bodyNr).getObjects().size();
+				break;
+			case 2:
+				info = "" + subnets.get(bodyNr).getEdges().size();
+				break;
+			case 3:
+				info = "" + subnets.get(bodyNr).getSwitches().size();
 				break;
-
 			default:
 				info = "" + bodies.get(i).getId();
 				break;