movingEdge = 0; setCursor(Cursor.getDefaultCursor());
		public void mouseMoved(MouseEvent e) {			if (currentPicture == null || currentImage == null || currentPicture.isOnline() || cacheRect == null) {				return;			}			double px = e.getPoint().getX();			double py = e.getPoint().getY();			boolean canMove = false;			if (px >= cacheRect.x + TOLERANCE && px <= cacheRect.x + cacheRect.width - TOLERANCE) {				if (Math.abs(py - cacheRect.y) < TOLERANCE) {					movingEdge = SwingConstants.TOP;					setCursor(Cursor.getPredefinedCursor(Cursor.N_RESIZE_CURSOR));					canMove = true;				} else if (Math.abs(py - cacheRect.y - cacheRect.height) < TOLERANCE) {					movingEdge = SwingConstants.BOTTOM;					setCursor(Cursor.getPredefinedCursor(Cursor.S_RESIZE_CURSOR));					canMove = true;				}			}			if (py >= cacheRect.y + TOLERANCE && py <= cacheRect.y + cacheRect.height - TOLERANCE) {				if (Math.abs(px - cacheRect.x) < TOLERANCE) {					movingEdge = SwingConstants.LEFT;					setCursor(Cursor.getPredefinedCursor(Cursor.W_RESIZE_CURSOR));					canMove = true;				} else if (Math.abs(px - cacheRect.x - cacheRect.width) < TOLERANCE) {					movingEdge = SwingConstants.RIGHT;					setCursor(Cursor.getPredefinedCursor(Cursor.E_RESIZE_CURSOR));					canMove = true;				}			}			if (px >= cacheRect.x + TOLERANCE && px <= cacheRect.x + cacheRect.width - TOLERANCE					&& py >= cacheRect.y + TOLERANCE && py <= cacheRect.y + cacheRect.height - TOLERANCE) {				movingEdge = 5;				setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));				canMove = true;			}			if (!canMove) {				movingEdge = 0;				setCursor(Cursor.getDefaultCursor());			}		}