Browse Source

comboBox for HolonCanvas

jess 7 years ago
parent
commit
3ebab9a145
2 changed files with 24 additions and 4 deletions
  1. 2 2
      src/classes/HolonBody.java
  2. 22 2
      src/ui/view/HolonCanvas.java

+ 2 - 2
src/classes/HolonBody.java

@@ -33,14 +33,14 @@ public class HolonBody implements Comparable<HolonBody> {
 		this.color = color;
 	}
 
-	public void draw(Graphics2D g2) {
+	public void draw(Graphics2D g2, String info) {
 
 		g2.setColor(color);
 		g2.fillOval((int) (position.getX() - getRadius()), (int) (position.getY() - getRadius()),
 				(int) (2 * getRadius()), (int) (2 * getRadius()));
 		g2.setFont(new Font("TimesRoman", Font.PLAIN, (int) radius));
 		g2.setColor(Color.WHITE);
-		g2.drawString("" + id, position.getX() - radius / 2 + 2, position.getY() + radius / 2 - 2);
+		g2.drawString(info, position.getX() - radius / 2 + 2, position.getY() + radius / 2 - 2);
 
 	}
 

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

@@ -6,6 +6,8 @@ import java.awt.Graphics;
 import java.awt.Graphics2D;
 import java.awt.RenderingHints;
 import java.awt.ScrollPane;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
 import java.awt.event.MouseWheelEvent;
 import java.awt.event.MouseWheelListener;
 import java.util.ArrayList;
@@ -55,7 +57,9 @@ public class HolonCanvas extends JPanel implements MouseWheelListener {
 	private int maxX;
 	private int maxY;
 	private JComboBox<String> combo = new JComboBox<>();
-	
+	private int comboChoice = 0;
+	private String info;
+
 	public HolonCanvas(Model mod, Control control) {
 		// Wire up Events
 		this.controller = control;
@@ -69,6 +73,13 @@ public class HolonCanvas extends JPanel implements MouseWheelListener {
 		frameCount = 0;
 		this.addMouseWheelListener(this);
 		combo.addItem("ID");
+
+		combo.addActionListener(new ActionListener() {
+			@Override
+			public void actionPerformed(ActionEvent e) {
+				comboChoice = combo.getSelectedIndex();
+			}
+		});
 	}
 
 	// Start Render and Update Threads
@@ -164,9 +175,18 @@ public class HolonCanvas extends JPanel implements MouseWheelListener {
 
 		// Render Game Objects
 		for (int i = 0; i < subCount; i++) {
+			switch (comboChoice) {
+			case 0:
+				info = "" + bodies.get(i).getId();
+				break;
+
+			default:
+				info = "" + bodies.get(i).getId();
+				break;
+			}
 			bodies.get(i).setRadius((subnets.get(bodies.get(i).getId()).getObjects().size() * 5 + 10)
 					* controller.getHolonBodyScale() / 100);
-			bodies.get(i).draw(this.g2);
+			bodies.get(i).draw(this.g2, info);
 		}
 	}