import java.awt.event.*; import java.awt.*; import java.lang.Math; import java.util.ArrayList; /** * Clase TrasladarHandler * Implementa los listeners necesarios para trasladar las formas en el circuito. * @author Patricio A. Castillo Pizarro - Eric C. Maldonado Olguin * @version 1.4 - May 18th, 2007 */ class TrasladarFiguras implements ActionListener { private EditorPanel panel; private boolean active; private Forma forma; private Point previo; private ArrayList figuras; /** * Constructor. * @param p Panel en que se efectua la traslacion. */ public TrasladarFiguras(EditorPanel p) { panel = p; active=false; figuras = new ArrayList(); } /** * Implementa los listeners necesarios para modificar la forma en el circuito. * @param e Parametro que indica el estado del evento */ public void actionPerformed(ActionEvent e) { panel.changeMouseListener(new MouseHandler()); panel.changeMouseMotionListener(new MouseMotionHandler()); panel.manipulating(); active=false; } /** * Clase interna que contiene los metodos de MouseListener */ class MouseHandler extends MouseAdapter { /** * Metodo que define las acciones a realizar cuando se presiona el boton del mouse. * La forma seleccionada sera trasladada a partir de la posicion en que el mouse comienza el movimiento. * @param event Parametro que indica la accion realizada por el mouse */ public void mousePressed (MouseEvent event) { Point punto = event.getPoint(); forma = (Forma)panel.find (punto); if(forma != null) { Forma f; figuras=panel.getFiguras(); for(int i=0; i9) { int x = deltaX / 50; Forma f; figuras=panel.getFiguras(); for(int i=0; i9) { int y = deltaY / 50; Forma f; figuras=panel.getFiguras(); for(int i=0; i