예제 #1
0
  @Override
  public final void mouseDragged(final MouseEvent e) {
    if (!SwingUtilities.isLeftMouseButton(e)) return;

    // selection mode
    rend.select(scroll.pos(), e.getPoint(), true);
    final int y = Math.max(20, Math.min(e.getY(), getHeight() - 20));
    if (y != e.getY()) scroll.pos(scroll.pos() + e.getY() - y);
  }
예제 #2
0
 public void mouseDragged(MouseEvent e) {
   int m = e.getModifiers();
   int type = DnDEvent.DND_ONE;
   if (e.isControlDown()) type = DnDEvent.DND_LINE;
   else if (((m & InputEvent.BUTTON2_MASK) != 0) || ((m & InputEvent.BUTTON3_MASK) != 0))
     type = DnDEvent.DND_END;
   if (startPoint == null) startPoint = new Point(e.getX(), e.getY());
   fireDragToolbar(e.getX() - startPoint.x, (e.getY() - startPoint.y), type);
   dragging = true;
 }
예제 #3
0
    public void mouseMoved(MouseEvent ev) {
      JRootPane root = getRootPane();

      if (root.getWindowDecorationStyle() == JRootPane.NONE) {
        return;
      }

      Window w = (Window) ev.getSource();

      Frame f = null;
      Dialog d = null;

      if (w instanceof Frame) {
        f = (Frame) w;
      } else if (w instanceof Dialog) {
        d = (Dialog) w;
      }

      // Update the cursor
      int cursor = getCursor(calculateCorner(w, ev.getX(), ev.getY()));

      if (cursor != 0
          && ((f != null && (f.isResizable() && (f.getExtendedState() & Frame.MAXIMIZED_BOTH) == 0))
              || (d != null && d.isResizable()))) {
        w.setCursor(Cursor.getPredefinedCursor(cursor));
      } else {
        w.setCursor(lastCursor);
      }
    }
예제 #4
0
  public void mouseClicked(MouseEvent e) {
    int x;
    int y;

    e.consume();

    if (mouseEventsEnabled) {

      x = Math.round(e.getX() / scale);
      y = Math.round(e.getY() / scale);

      // allow for the canvas margin
      y -= margin;

      // System.out.println("Mouse Click: (" + x + ", " + y + ")");

      if (e.getClickCount() < 2) {
        if (nativeSelectItem(x, y)) {
          parentFTAFrame.updateFrame();
        }
      } else {
        if (nativeSelectItem(x, y)) {
          parentFTAFrame.updateFrame();
        }

        editSelected();
        parentFTAFrame.updateFrame();
      }

      if (focusEventsEnabled) {
        // tell the main Canvas to point to this coordinate
        parentFTAFrame.setCanvasFocus(x, y);
      }
    }
  }
예제 #5
0
 public void mousePressed(MouseEvent e) {
   int x = e.getX(), y = e.getY();
   pressX = lastX = x;
   pressY = lastY = y;
   first = findFigureElement(x, y);
   if (first == null) {
     point1 = addPoint(x, y);
   }
 }
  /**
   * Method to display pixel information based on a mouse event
   *
   * @param e a mouse event
   */
  private void displayPixelInformation(MouseEvent e) {

    // get the cursor x and y
    int cursorX = e.getX();
    int cursorY = e.getY();

    // get the x and y in the original (not scaled image)
    int pictureX = (int) (cursorX / zoomFactor + numberBase);
    int pictureY = (int) (cursorY / zoomFactor + numberBase);

    // display the information for this x and y
    displayPixelInformation(pictureX, pictureY);
  }
예제 #7
0
 public void mouseDragged(MouseEvent e) {
   int x = e.getX(), y = e.getY(), dx = lastX - x, dy = lastY - y;
   lastX = x;
   lastY = y;
   if (first == null) {
     Line line = addLine(point1, new Point(x, y));
     if (line != null) {
       canvas.add(line.getP2());
       first = line.getP2();
       canvas.add(line);
     }
   } else {
     first.move(-dx, -dy);
   }
   repaint();
 }
 void forwardEventToParent(MouseEvent e) {
   getParent()
       .dispatchEvent(
           new MouseEvent(
               getParent(),
               e.getID(),
               e.getWhen(),
               e.getModifiers(),
               e.getX(),
               e.getY(),
               e.getXOnScreen(),
               e.getYOnScreen(),
               e.getClickCount(),
               e.isPopupTrigger(),
               MouseEvent.NOBUTTON));
 }
예제 #9
0
 public void mouseReleased(MouseEvent e) {
   if (e.isPopupTrigger()) {
     Popup popup = new Popup();
     popup.show(e.getComponent(), e.getX(), e.getY());
   }
 }
예제 #10
0
 public void mouseReleased(MouseEvent e) {
   if (dragging) {
     fireDropToolbar(e.getX() - startPoint.x, e.getY() - startPoint.y, DnDEvent.DND_ONE);
     dragging = false;
   }
 }
예제 #11
0
 public void mousePressed(MouseEvent e) {
   startPoint = new Point(e.getX(), e.getY());
 }
 public void mouseDragged(MouseEvent e) {
   // the user is dragging, so scroll
   Rectangle r = new Rectangle(e.getX(), e.getY(), 1, 1);
   scrollRectToVisible(r);
 }
예제 #13
0
 void jTextPaneDisplayMessages_mouseClicked(MouseEvent e) {
   if ((e.getModifiers() & Event.META_MASK) == Event.META_MASK) {
     jPopupMenuMessageArea.show(jTextPaneDisplayMessages, e.getX(), e.getY());
   }
 }
예제 #14
0
 /** Checks to see if the event was to show the popup menu */
 private void maybeShowPopup(MouseEvent e) {
   if ((e.getModifiers() & MouseEvent.BUTTON3_MASK) != 0) {
     popup.show(userList, e.getX(), e.getY());
   }
 }
예제 #15
0
 private void maybeShowPopup(MouseEvent e) {
   if (e.isPopupTrigger() && back.size() > 1) popup.show(e.getComponent(), e.getX(), e.getY());
 }