Figura > Rectangle areaPresentacion boolean seleccionada clone() dibujar(Graphics g) dibujarSeleccion(Graphics g) cambiarAreaPresentacion(Point p1, Point p2) Rectangle getAreaPresentacion() setSeleccionada(boolean) Dimensiones getDimensiones() notificar() contienePunto(Point p) boolean esFiguraVacia() mover (int dx, int dy) añadirFigura(Figura f) java.awt.Rectangle java.awt.Point Observer
Figura > Vector observers; Vector manipuladores registrarObservador(Observer) eliminarObservador(Observer) aumentar(Point) estirar(Point) Manipulador getManipulador(Point) java.awt.Rectangle java.awt.Point Observer Manipulador
VentanaEditor Dibujo areaDibujo actionPerformed(ActionEvent e) Dibujo BotonHerramienta java.awt.event.ActionEvent
GrupoFiguras >
Dibujo Vector listaFiguras GrupoFiguras grupo Herramienta herramientaActiva insertarFigura(Figura f) Figura eliminarFigura(Figura f) insertarFiguraGrupo(Figura f) Figura encuentraFigura(Point) paintComponent(Graphics g) setHerramientaActiva(Herramienta) void mousePressed(MouseEvent e) void mouseDragged(MouseEvent e) void mouseReleased(MouseEvent e) Figura java.awt.MouseEvent Herramienta GrupoFiguras
Manipulador > Figura propietario dibujar(Graphics g) contienePunto(Point) manipularFigura( ) Figura
ManipuladorMover > >
BotonHerramienta Herramienta herramienta Herramienta getHerramienta() javax.swing.JButton Herramienta
void mousePressed(MouseEvent e) void mouseDragged(MouseEvent e) void mouseReleased(MouseEvent e) java.awt.MouseEvent
HerramientaCreacion Figura prototipo Dibujo areaDibujo Figura ultiFiguraCreada Point ultPulsacion void mousePressed(MouseEvent e) void mouseDragged(MouseEvent e) void mouseReleased(MouseEvent e) java.awt.MouseEvent Figura Dibujo java.awt.Point
HerramientaSeleccion > Dibujo areaDibujo Figura figSeleccionada Point ultPulsacion void mousePressed(MouseEvent e) void mouseDragged(MouseEvent e) void mouseReleased(MouseEvent e) java.awt.MouseEvent Dibujo Figura java.awt.Point Manipulador
HerramientaAgrupar Dibujo areaDibujo void mousePressed(MouseEvent e) void mouseDragged(MouseEvent e) void mouseReleased(MouseEvent e) java.awt.MouseEvent Dibujo
ObserverFigura actualizar(Figura f) Figura
ObserverLineaTexto JTextField linea actualizar(Figura f) Figura javax.swing.JTextField
ObserverAreaTexto JTextArea areaTexto actualizar(Figura f) Figura javax.swing.JTextArea