Procházet zdrojové kódy

Merge branch 'Ohne_Drag_and_Drop' of https://git.tk.informatik.tu-darmstadt.de/carlos.garcia/praktikum-holons into Ohne_Drag_and_Drop

Jessey Widhalm před 8 roky
rodič
revize
af0ae4a31b
2 změnil soubory, kde provedl 29 přidání a 10 odebrání
  1. binární
      bin/ui/view/MyCanvas.class
  2. 29 10
      src/ui/view/MyCanvas.java

binární
bin/ui/view/MyCanvas.class


+ 29 - 10
src/ui/view/MyCanvas.java

@@ -8,7 +8,9 @@ import java.awt.event.MouseMotionListener;
 import java.util.LinkedList;
 
 import javax.swing.ImageIcon;
+import javax.swing.JMenuItem;
 import javax.swing.JPanel;
+import javax.swing.JPopupMenu;
 
 import classes.CpsObject;
 import classes.HolonObject;
@@ -20,11 +22,18 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener
 	private int y = 0;
 	LinkedList<CpsObject> choords = new LinkedList<>();
 	boolean dragging = false;
+	boolean dropDelete = false;
 	CpsObject tempCPS = null;
 	
+	//PopUpMenu
+	JPopupMenu popmenu = new JPopupMenu();
+	JMenuItem itemDelete = new JMenuItem("Delete Object");
+	
+	
     public MyCanvas()
     {
-    	
+    	popmenu.add(itemDelete);
+    	itemDelete.setEnabled(false);
     	img = new ImageIcon(this.getClass().getResource("/Images/Dummy_House.png")).getImage().getScaledInstance(30, 30, java.awt.Image.SCALE_SMOOTH);
     	
         this.addMouseListener(this);
@@ -63,16 +72,20 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener
 		// TODO Auto-generated method stub
 		x = e.getX();
         y = e.getY();
+        dropDelete = false;
+        for (CpsObject cps : choords){
+        	int cx = cps.getPos().x;
+        	int cy = cps.getPos().y;
+        	if (x-img.getWidth(null)<=cx && y-img.getHeight(null) <=cy&& x+img.getWidth(null)>=cx && y+img.getHeight(null)>= cy) {
+        		tempCPS = cps;
+        		if(e.getButton() == e.BUTTON1){
+        			dragging = true;
+        		} else {
+        			dropDelete = true;
+        		}
+        	}
+        }
         
-		for (CpsObject cps : choords){
-    		int cx = cps.getPos().x;
-    		int cy = cps.getPos().y;
-    		if (x-img.getWidth(null)<=cx && y-img.getHeight(null) <=cy&& x+img.getWidth(null)>=cx && y+img.getHeight(null)>= cy) {
-				tempCPS = cps;
-				dragging = true;
-			}
-    	}
-		
 	}
 
 	@Override
@@ -85,6 +98,12 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener
         	tempCPS = null;
         	repaint();
         }
+        //Rechtsklick Liste
+        if(e.getButton() == e.BUTTON3){
+        	if(dropDelete) itemDelete.setEnabled(true);
+        	popmenu.show( e.getComponent(), e.getX(), e.getY() ); 
+        	
+        }
 	}
 
 	@Override