*/
		public void mouseDragged(MouseEvent me) {
			if (m_nSelectedRect != null) {
				m_nSelectedRect.width = me.getPoint().x - m_nSelectedRect.x;
				m_nSelectedRect.height = me.getPoint().y - m_nSelectedRect.y;
				repaint();
				return;
			}
			int iNode = getGraphNode(me);
			if (iNode >= 0) {
				if (m_Selection.getSelected().size() > 0) {
					if (m_Selection.getSelected().contains(iNode)) {
						m_BayesNet.setPosition(iNode, (int) ((m_nPosX / m_fScale - m_nPaddedNodeWidth / 2)),
							(int) ((m_nPosY / m_fScale - m_nNodeHeight / 2)), m_Selection.getSelected());
					} else {
						m_Selection.clear();
						m_BayesNet.setPosition(iNode, (int) ((m_nPosX / m_fScale - m_nPaddedNodeWidth / 2)),
								(int) ((m_nPosY / m_fScale - m_nNodeHeight / 2)));
					}
					repaint();
				} else {
					m_BayesNet.setPosition(iNode, (int) ((m_nPosX / m_fScale - m_nPaddedNodeWidth / 2)),
						(int) ((m_nPosY / m_fScale - m_nNodeHeight / 2)));
				}
			    m_jStatusBar.setText(m_BayesNet.lastActionMsg());
				a_undo.setEnabled(true);
				a_redo.setEnabled(false);
				m_GraphPanel.highLight(iNode);
			}
			if (iNode < 0) {
				if (m_nLastNode >= 0) {
					m_GraphPanel.repaint();
					m_nLastNode = -1;
				} else {
					m_nSelectedRect = new Rectangle(me.getPoint().x, me.getPoint().y, 1, 1);
					m_GraphPanel.repaint();
				}
			}
		}