@Override public void onMouseMove(final MouseMoveEvent event) { final int currentX = event.getX(); final int currentY = event.getY(); if (selectionBox.isSelectionBoxVisible()) { selectionBox.drawSelectionBox(canvas, currentX, currentY); } else if (graph.getMovedShape() != null) { final VNode moved = graph.getMovedShape(); moved.moveNode(currentX, currentY); } else if (onLink) { if (linkLine != null) { canvas.remove(linkLine); } linkLine = getLinkLine(currentX, currentY); canvas.add(linkLine); } else if (onMove && event.getSource().equals(canvas)) { graph.moveGraph(startX - currentX, startY - currentY); startX = currentX; startY = currentY; } }