Jessey Widhalm 7 rokov pred
rodič
commit
d40e6a2c7b
2 zmenil súbory, kde vykonal 72 pridanie a 1 odobranie
  1. 7 1
      src/ui/view/GUI.java
  2. 65 0
      src/ui/view/HolonCanvas.java

+ 7 - 1
src/ui/view/GUI.java

@@ -231,6 +231,7 @@ public class GUI<E> implements CategoryListener {
 
 	private Console console = new Console();
 	private MyCanvas canvas;
+	private HolonCanvas holonCanvas;
 	private UnitGraph unitGraph;
 	private final JSplitPane splitPane3 = new JSplitPane();
 	private final JSlider sizeSlider = new JSlider();
@@ -279,6 +280,7 @@ public class GUI<E> implements CategoryListener {
 		model.addGraphListener(statSplitPane);
 		statScrollPane = new JScrollPane(statSplitPane);
 		this.canvas = new MyCanvas(model, control);
+		this.holonCanvas = new HolonCanvas(model, control);
 		this.unitGraph = new UnitGraph(model, control);
 		control.initListener(this);
 		controller.setCanvas(canvas);
@@ -615,7 +617,9 @@ public class GUI<E> implements CategoryListener {
 		mnNewMenuOptions.add(mnLanguage);
 		canvas.setBackground(Color.WHITE);
 		canvas.setPreferredSize(new Dimension(model.getCanvasX(), model.getCanvasY()));
-
+		holonCanvas.setBackground(Color.WHITE);
+		holonCanvas.setPreferredSize(new Dimension(model.getCanvasX(), model.getCanvasY()));
+		
 		/********************
 		 * RIGHT CONTAINER (INFORMATION)
 		 **********************/
@@ -1548,6 +1552,7 @@ public class GUI<E> implements CategoryListener {
 		splitGraphHolonEl.setTopComponent(scrollGraph);
 		splitGraphHolonEl.setBottomComponent(scrollElements);
 		canvasSP.setViewportView(canvas);
+		holonSP.setViewportView(holonCanvas);
 		panelTapped_SimMenu.setLayout(new BorderLayout());
 		panelTapped_SimMenu.add(simMenu, BorderLayout.NORTH);
 		panelTapped_SimMenu.add(tabbedPane);
@@ -1565,6 +1570,7 @@ public class GUI<E> implements CategoryListener {
 		splitGraphHolonEl.setBorder(null);
 		panelHolonEl.setBorder(null);
 		canvasSP.setBorder(null);
+		holonSP.setBorder(null);
 
 		tableHolonElementScrollPane.setBorder(null);
 

+ 65 - 0
src/ui/view/HolonCanvas.java

@@ -0,0 +1,65 @@
+/**
+ * 
+ */
+package ui.view;
+
+import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.Image;
+import java.awt.RenderingHints;
+
+import javax.swing.ImageIcon;
+import javax.swing.JPanel;
+
+import classes.HolonObject;
+import classes.SubNet;
+import ui.controller.Control;
+import ui.model.Model;
+
+/**
+ * This class shows the holon view
+ * 
+ * @author Gruppe14
+ *
+ */
+public class HolonCanvas extends JPanel {
+	private static final long serialVersionUID = 1L;
+	// edge Object Start Point
+	private Model model;
+	private final Control controller;
+	Graphics2D g2; // For Painting
+
+	/**
+	 * Constructor.
+	 * 
+	 * @param mod
+	 *            the Model
+	 * @param control
+	 *            the Controller
+	 */
+	public HolonCanvas(Model mod, Control control) {
+		this.controller = control;
+		this.model = mod;
+	}
+
+	public void paintComponent(Graphics g) {
+		super.paintComponent(g);
+		// Rendering
+		g2 = (Graphics2D) g;
+		RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+		g2.setRenderingHints(rh);
+
+		int i = 0;
+		int k = 0;
+		// Objects
+		for (SubNet s : controller.getSimManager().getSubNets()) {
+			// draw image
+			g2.setColor(model.getSubNetColors().get(k));
+			g2.fillOval(10 + i, 10 + i, controller.getScale() * s.getObjects().size() / 4,
+					controller.getScale() * s.getObjects().size() / 4);
+			k += 1;
+			i += 20;
+		}
+	}
+}