import java.awt.event.*; import java.awt.*; /** * Clase EliminarHandler * @author Patricio A. Castillo Pizarro - Eric C. Maldonado Olguin * @version 1.1 - May 18th, 2007 */ class EliminarHandler implements ActionListener { private EditorPanel panel; private Forma forma; /** * Constructor. * @param p Panel en que se efectua la eliminacion de una forma. */ public EliminarHandler(EditorPanel p) { panel = p; } /** * Implementa los listeners necesarios para eliminar la forma del 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(); } /** * Clase interna que contiene los metodos de MouseListener */ class MouseHandler extends MouseAdapter { /** * Metodo que define las acciones a realizar cuando se hace un click con el mouse. * La forma seleccionada es removida del circuito. * @param event Parametro que indica la accion realizada por el mouse */ public void mouseClicked(MouseEvent event) { Point punto = event.getPoint(); forma = (Forma)panel.find(punto); if(forma != null) { panel.remueva (forma); } } } /** * Clase interna que contiene los metodos de MouseMotionListener */ class MouseMotionHandler extends MouseMotionAdapter { /** * Metodo que define las acciones a realizar cuando se mueve el mouse. * Entrega la posicion del mouse a medida que se mueve en el circuito. * @param event Parametro que indica la accion realizada por el mouse */ public void mouseMoved(MouseEvent event) { Point p = event.getPoint(); forma = (Forma)panel.find(p); } } } //Fin clase EliminarHandler