@Override public void mousePressed(MouseEvent me) { x = me.getX(); y = me.getY(); altDown = me.isAltDown() || me.isAltGraphDown(); undo = (me.getButton() == MouseEvent.BUTTON3) || altDown; ctrlDown = me.isControlDown() || me.isMetaDown(); shiftDown = me.isShiftDown(); first = true; if (!oneShot) { if (timer == null) { timer = new Timer( delay, e -> { Point worldCoords = view.viewToWorld((int) x, (int) y); tick(worldCoords.x, worldCoords.y, undo, first, 1.0f); view.updateStatusBar(worldCoords.x, worldCoords.y); first = false; }); timer.setInitialDelay(0); timer.start(); // start = System.currentTimeMillis(); } } else { Point worldCoords = view.viewToWorld((int) x, (int) y); tick(worldCoords.x, worldCoords.y, undo, true, 1.0f); view.updateStatusBar(worldCoords.x, worldCoords.y); Dimension dimension = getDimension(); if (dimension != null) { dimension.armSavePoint(); } logOperation(undo ? statisticsKeyUndo : statisticsKey); } }
public void mouseClicked(MouseEvent e) { details = String.format("You clicked %d", e.getClickCount()); // isMetaDown() = what kind mouse is used now? one button or two // button or more? if (e.isMetaDown()) details += "with right mouse button"; else if (e.isAltDown()) details += "with center mouse button"; else details += "with left mouse"; statusBar.setText(details); }
private void onMouseDown(MouseEvent e) { if (_tile != getTile(e)) return; // Remember mouse down location. int x = _xdown = e.getX(); int y = _ydown = e.getY(); // What segment and point, if any, was clicked? int[] i = {0, 0}, p = {0, 0}; int icode = getSegmentAndPoint(x, y, i, p); int is = i[0], ip = i[1]; int xp = p[0], yp = p[1]; // trace("onMouseDown: is="+is+" ip="+ip); // If currently in the process of creating a new segment, ... if (_creating) { // If mouse is on previous (selected) point in the created segment, // then end segment creation. if (icode == 1 && isSelected(is, ip)) { _creating = false; } // Else append a new point to the created segment. else { is = _isSelected; ip = appendPoint(x, y); selectPoint(is, ip); addMotionListener(); } } // Else if not currently in the process of creating a new segment, ... else { // If mouse on existing point, ... if (icode == 1) { // If alt key down, delete the point. if (e.isAltDown()) { selectPoint(is, ip); removeSelectedPoint(); } // Else, select the point else { selectPoint(is, ip); addMotionListener(); } } // Else if mouse on existing segment, ... else if (icode == 2) { // If shift key down, add a new point to existing segment. if (e.isShiftDown()) { insertPoint(is, ip, x, y); selectPoint(is, ip); addMotionListener(); } } // Else if mouse down away from all segments, ... else { // If shift key down, create a new segment. if (e.isShiftDown()) { is = appendSegment(x, y); ip = 0; selectPoint(is, ip); addMotionListener(); _creating = true; } // Else deselect all points. else { deselect(); } } } updateAll(); }
@Override public void mouseMoved(MouseEvent me) { altDown = me.isAltDown() || me.isAltGraphDown(); ctrlDown = me.isControlDown() || me.isMetaDown(); shiftDown = me.isShiftDown(); }