Durante las primeras pruebas de este caso de uso, ocurria que, si mientras el cubo estaba girando, se hacia click sobre alguna cara, la animación que ya estaba en curso era detenida e inmediatamente empezaba la otra, lo que hacia que el cubo se desarmara. La imágen mostrada corresponde a haber girado la cara D y la A, antes de que D quedara en su sitio.
Agregar una instrucción que revise si hay alguna animación pendiente, de ser así, el click al cubo es ignorado.
El cubo no se desordena. Pero al hacer algun movimiento, una vez que este termina, el cubo recien se desordena.
El problema era que al presionar el boton Mezclar, solo se desordenaba el modelo lógico, y luego, al hacer algún movimiento, se invocaba el método que actualiza las caras del modelo gráfico.
La solución fue simplemente invocar ese método tambien al presionar el boton Mezclar.
En el panel de detalle de etapas, las imagenes son persistentes, es decir, si una nueva imagen que se superponga a la preexistente es de menor tamaño, lo que sobró de la imágen más grande se seguirá viendo.
Invocar el método "repaint()" de este JPanel solucionó el problema.
Usando jGrasp sobre Windows XP se logró compilar y correr el programa. Sin embargo, en ambientes Linux, o en Aragorn, la ejecución falla, al parecer no puede encontrar la ruta donde encontrar las imágenes gif que usa el programa.
El problema era que los archivos de imágenes tenian extensión "*.GIF" y el código estaban con "*.gif", entonces como Windows no hace distinción entre mayúsculas y minúsculas, el programa funcionaba, no asi en Linux. La solución fue simplemente renombrar los archivos a "*.gif".
Para que el Panel que muestra el detalle de las etapas se muestre correctamente, se requiere que la pantalla esté a una resolución de al menos 1024x768, de lo contrario podria no mostrarse completo.