public void mouseDragged(MouseEvent e) { if (!e.isShiftDown()) // normal drag move(this, e); else // drag entire connected component { ArrayList connectedNodes = dNode.connectedNodes(); if (connectedNodes.size() == 0) move(this, e); else for (Iterator it = connectedNodes.iterator(); it.hasNext(); ) { ASDDigraphNode dNode2 = (ASDDigraphNode) it.next(); ASDEditNode eNode2 = dNode2.getEditNode(); move(eNode2, e); } } getEditor().setGrammarChanged(true); getContext().repaint(); }