Diseño y Programación Orientados a Objetos
1er. Sem 2006
Tarea 2: Dibujando y Manipulando Figuras Geométricas


Esta tarea tiene por objeto:
  1. Ejercitar la generación automática de documentación usando javadoc.
  2. Ejercitar la creación de programas conducidos por eventos.
  3. Ejercitar la creación de interfaces gráfica de usuario.
  4. Ejercitar herencia, interfaces, ligado dinámico, y creación de menús.
  5. Generar programas que sigan cierto estándar en su formato o estilo.
Como la tarea 1, esta tarea será revisada desde consola; es decir se requiere que usted cree un archivo Makefile para que el ayudante compile su trabajo sólo ejecutando la sentencia
$ make
Para ejecutar su programa el ayudante ejecutará
$ make run

Descripción:
En esta tarea se le pide crear una aplicación gráfica que contenga una barra de menú con las siguientes opciones:
Creación de figuras y manipulación de figuras. Bajo la opción creación se debe mostrar la opción para crear líneas, triángulos, rectángulos, y círculos. Bajo la opción manipulación tenemos las opciones para rotar, escalar y trasladar. A diferencia del ejemplo mostrado el año pasado,  todas estas opciones podrán actuar sólo sobre una forma individual. Al seleccionar cualquiera de estas opciones, cada forma mostrará pequeños cuadrados en puntos que usted definirá (por ejemplo para el cuadrado en sus esquinas). La manipulación será posible presionando el mouse en el rectángulo de la forma a cambiar y arrastrándolo a la posición que desee el usuario. El punto sobre el cual se efectúan las rotaciones y escalamientos quedan a su elección.

(No para esta tarea, pero para que esté enterado hacia donde vamos, en la próxima usted deberá incluir la opción de seleccionar una zona de la pantalla - cuando el click no se haga sobre una figura- y manipular en forma conjunta todas las formas seleccionadas en el rectángulo definido por la selección.)


Sobre Documentación: En la documentación de esta tarea, no es necesario que usted haga una descripción en alto nivel de los algoritmos usados, pero sí adjunte un diagrama de clases (las clases principales y la relación entre ellas como aquí). En esta tarea la verificación de estilo se debe realizar. Usted debe entregar su código documentado de manera que se pueda generar la documentación con el utilitario javadoc. El archivo Readme puede ser entregado en archivos de texto; sin embargo se estimula a quienes puedan entregarlo en formato html poniendo las ligas a los códigos fuentes, diagrama de clases, etc.