Esempio n. 1
0
  public void mousePressed(MouseEvent e) {
    if (!e.isShiftDown()) {
      Shape pickedShape = myDrawing.pickShapeAt(e.getPoint());
      myLastPoint = e.getPoint();
      if (mySelectedShape != null) {
        mySelectedShape.setSelected(false);
      }

      mySelectedShape = pickedShape;

      if (mySelectedShape != null) {
        pickedShapeGroup.setSelected(false);
        pickedShapeGroup.removeAll();
        mySelectedShape.setSelected(true);
        myPanel.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));

      } else {

        pickedShapeGroup.setSelected(false);
        pickedShapeGroup.removeAll();
      }

      myPanel.repaint();
    } else {

      if (mySelectedShape != null) {
        mySelectedShape.setSelected(false);
      }

      Shape pickedShape = myDrawing.pickShapeAt(e.getPoint());
      if (pickedShape != null) {
        if (!pickedShapeGroup.Contains(pickedShape)) {
          pickedShapeGroup.group(pickedShape);
          myLastPoint = e.getPoint();
          pickedShapeGroup.setSelected(true);
          myPanel.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
          myPanel.repaint();
        } else {
          // pickedShapeGroup.setSelected(false);
          // pickedShapeGroup.deGroup(pickedShape);
          pickedShapeGroup.setSelected(true);
          myLastPoint = e.getPoint();
          myPanel.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
          myPanel.repaint();
        }
      } else {
        pickedShapeGroup.setSelected(false);
        pickedShapeGroup.removeAll();
      }
      myPanel.repaint();
    }
  }
Esempio n. 2
0
  public void mouseDragged(MouseEvent e) {

    if (pickedShapeGroup.isSelected()) {

      pickedShapeGroup.translateBy(e.getX() - myLastPoint.x, e.getY() - myLastPoint.y);
      myLastPoint = e.getPoint();
      myPanel.repaint();
    } else if (mySelectedShape != null) {
      mySelectedShape.translateBy(e.getX() - myLastPoint.x, e.getY() - myLastPoint.y);
      myLastPoint = e.getPoint();
      myPanel.repaint();
    }
  }