import java.awt.event.*; import java.awt.*; import java.lang.Math; class TrasladarHandler implements ActionListener { private Dibujo dibujo; private Point previo; public TrasladarHandler(Dibujo dib) { dibujo = dib; } public void actionPerformed(ActionEvent e) { dibujo.changeMouseListener(new MouseHandler()); dibujo.changeMouseMotionListener(new MouseMotionHandler()); } class MouseHandler extends MouseAdapter { public void mousePressed (MouseEvent event) { previo = event.getPoint(); } } class MouseMotionHandler extends MouseMotionAdapter { public void mouseDragged(MouseEvent event) { Point p = event.getPoint(); double deltaX = p.getX()-previo.getX(); double deltaY = p.getY()-previo.getY(); dibujo.trasladar(deltaX, deltaY); previo = p; } } }