@Override
    public void mouseDragged(MouseEvent me) {
        //System.out.println("Draged");
        PSTricksGraphEditor.ptb.micePositionLabel.setText(" " + me.getX() + ":" + me.getY());
        Point2D mousePoint = me.getPoint();
        if (dragStartBounds != null){
            if (selected instanceof Node){
                Node n = (Node) selected;
                Rectangle2D bounds = n.getBounds();
                n.position((float) (dragStartBounds.getX() - bounds.getX() 
                        + mousePoint.getX() - dragStartPoint.getX()),
                        (float) (dragStartBounds.getY() - bounds.getY() 
                        + mousePoint.getY() - dragStartPoint.getY()));
            }else if(selected instanceof PSTLabel){
                PSTLabel label = (PSTLabel) selected;
                Rectangle2D bounds = label.getBounds();
                label.position(dragStartBounds.getX() - bounds.getX() 
                        + mousePoint.getX() - dragStartPoint.getX(),
                        dragStartBounds.getY() - bounds.getY() 
                        + mousePoint.getY() - dragStartPoint.getY());
            }
        }
                    
        if(selected instanceof ArcEdge){
            ArcEdge e = (ArcEdge) selected;
            e.setOnDrag(true);
            //e.setMouseDragePoint(mousePoint);
            e.setCtrlPoint(mousePoint);
        }
        
        lastMousePoint = mousePoint;
        repaint();
    }