Added border when selected

This commit is contained in:
Wesley
2015-03-12 22:10:15 +01:00
parent 72383c9ccc
commit ae35416cf9
4 changed files with 107 additions and 24 deletions
+27 -1
View File
@@ -13,10 +13,12 @@ import Applicatie.Panel;
public class Mouse extends MouseAdapter {
private Panel panel;
private DrawObject selectedObject;
public Mouse(Panel panel)
{
this.panel = panel;
selectedObject = null;
}
public void mousePressed(MouseEvent e) {
@@ -35,13 +37,37 @@ public class Mouse extends MouseAdapter {
else
{
for(DrawObject o : panel.getObjects())
if(o.contains(clickPoint))
if(o.contains(clickPoint)) {
if(o == selectedObject) {
boolean upperLeft = clickPoint.getX() > o.getRectangle().getX() && clickPoint.getX() < o.getRectangle().getX()+o.getRectangle().getWidth()/10
&& clickPoint.getY() > o.getRectangle().getY() && clickPoint.getY() < o.getRectangle().getY()+o.getRectangle().getHeight()/10;
if(upperLeft) {
System.out.println("lal");
panel.setClickedOption("upperLeft");
}
else {
panel.setClickedOption("drag");
}
}
if(selectedObject != null)
selectedObject.setSelected(false);
panel.setDragObject(o);
o.setSelected(true);
selectedObject = o;
System.out.println("selected");
}
}
if(panel.getDragObject() == null && selectedObject != null) {
System.out.println("deselected");
selectedObject.setSelected(false);
selectedObject = null;
}
panel.repaint();
}
public void mouseReleased(MouseEvent e) {
panel.setDragObject(null);
panel.repaint();
}
}
+31 -22
View File
@@ -21,31 +21,40 @@ public class MouseMotion extends MouseMotionAdapter {
public void mouseDragged(MouseEvent e) {
Point2D clickPoint = panel.getClickPoint(e.getPoint());
if(panel.getDragObject() != null)
{
if(SwingUtilities.isLeftMouseButton(e)){
panel.getDragObject().setPosition(new Point2D.Double(
switch(panel.getClickedOption()) {
case "drag":
if(panel.getDragObject() != null)
panel.getDragObject().setPosition(new Point2D.Double(
panel.getDragObject().getPosition().getX() - (panel.getLastClickPosition().getX() - clickPoint.getX()),
panel.getDragObject().getPosition().getY() - (panel.getLastClickPosition().getY() - clickPoint.getY())));
}
else
{
double tempval = panel.getDragObject().getRotation() + (panel.getLastClickPosition().getX() - clickPoint.getX());
panel.getDragObject().setRotation(tempval);
}
panel.repaint();
}
else
{
panel.setCameraPoint(new Point2D.Double(
panel.getCameraPoint().getX() + (panel.getLastMousePosition().getX() - e.getX()),
panel.getCameraPoint().getY() + (panel.getLastMousePosition().getY() - e.getY())
));
panel.repaint();
break;
}
panel.repaint();
// if(panel.getDragObject() != null)
// {
// if(SwingUtilities.isLeftMouseButton(e)){
//
//
//
// }
// else
// {
//double tempval = panel.getDragObject().getRotation() + (panel.getLastClickPosition().getX() - clickPoint.getX());
//panel.getDragObject().setRotation(tempval);
//
// }
// panel.repaint();
// }
// else
// {
// panel.setCameraPoint(new Point2D.Double(
// panel.getCameraPoint().getX() + (panel.getLastMousePosition().getX() - e.getX()),
// panel.getCameraPoint().getY() + (panel.getLastMousePosition().getY() - e.getY())
// ));
// panel.repaint();
// }
panel.setLastMousePosition(e.getPoint());
panel.setLastClickPosition(clickPoint);
}