void (final MouseEvent e) { if (e.getID() == MouseEvent.MOUSE_PRESSED) { myStartPoint = e.getPoint(); myEditor.getDragLayer().add(myRectangePainter); } else if (e.getID() == MouseEvent.MOUSE_DRAGGED) { final Rectangle rectangle = getRectangle(e); myRectangePainter.setBounds(rectangle); myEditor.getDragLayer().repaint(); } else if (e.getID() == MouseEvent.MOUSE_RELEASED) { final Rectangle rectangle = getRectangle(e); if (e.isShiftDown() && rectangle.width <= 3 && rectangle.height <= 3) { RadComponent component = FormEditingUtil.getRadComponentAt(myEditor.getRootContainer(), e.getX(), e.getY()); if (component != null) { RadComponent anchor = myEditor.getSelectionAnchor(); if (anchor == null || anchor.getParent() != component.getParent() || anchor.getParent() == null || !anchor.getParent().getLayoutManager().isGrid()) { component.setSelected(!component.isSelected()); } else { selectComponentsInRange(component, anchor); myEditor.setSelectionLead(component); } } } markRectangle(myEditor.getRootContainer(), rectangle, e.getComponent()); final JComponent dragLayer = myEditor.getDragLayer(); dragLayer.remove(myRectangePainter); dragLayer.repaint(); myStartPoint = null; } }