You are on page 1of 20

2016

Facultad de Ingeniera
Ingeniera en Sistemas
Semestre Septiembre 2016 Febrero 2017
4to Ciclo

Rubik Cube Timer


Proyecto de Programacin 3
Documento Escrito de la creacin de la aplicacin de escritorio llamada Rubik
Cube Timer, indicando el desarrollo de la misma, que se utiliz, problemas,
estructura de datos, diagramas, funcionalidad de la aplicacin, entre otras.

URL Presentacin YouTube:


https://www.youtube.com/watch?v=pvJl_zkW31o
URL Proyecto en GitHub:
https://github.com/ChristianPaulSalinas/Rubik-Cube-Timer-enJava
URL Diapositivas de Presentacin en Clases y para video:
http://es.slideshare.net/ChristianSalinas10/rubik-cube-timerdiapositivas-presentacion-clases
http://es.slideshare.net/ChristianSalinas10/rubik-cube-timerdiapositivas-presentacion-video
Christian Paul Salinas
10/01/2016
Cuenca - Ecuador

Programacin 3
Rubik Cube Timer
Christian Paul Salinas

Contenido
1

Resumen ____________________________________________________________ 1

Palabras Clave _______________________________________________________ 1

Introduccin _________________________________________________________ 1

Mtodo _____________________________________________________________ 2
4.1
4.1.1

Materiales, Fuentes y Descripcin _________________________________________ 2


Descripcin del Proyecto ________________________________________________________ 2

4.2

Estructuras de Datos ____________________________________________________ 3

4.3

Capas utilizadas ________________________________________________________ 3

4.3.1
4.3.2
4.3.3

Capa de Lgica _______________________________________________________________ 3


Capa de Datos ________________________________________________________________ 4
Capara de Interfaces ___________________________________________________________ 4

4.4

Diagrama de Clases _____________________________________________________ 4

4.5

Libreras y clases implementadas __________________________________________ 5

4.5.1
4.5.2
4.5.3

Clase Timer __________________________________________________________________ 5


Eventos con el Teclado _________________________________________________________ 5
JFreeChart ___________________________________________________________________ 5

4.6

Para que Usuario Objetivo se cre la Aplicacin. _____________________________ 6

4.7

Reproducible ___________________________________________________________ 7

Resultados ___________________________________________________________ 7

Discusin y Conclusiones ______________________________________________ 7


6.1

Explicacin de los Resultados _____________________________________________ 7

6.2

Posibilidad de Relacionar con otros Trabajos ________________________________ 8

6.3

Problemas en el Desarrollo _______________________________________________ 8

6.4

Ventajas del Trabajo ____________________________________________________ 8

Bibliografa __________________________________________________________ 9

Graficas _____________________________________________________________ 9

Nota: Todas las grficas que aparecen debidamente indicadas en todo el Documento, se encuentran
en la seccin 8 Graficas, tal como se indic en las especificaciones para la creacin del mismo, de
la misma manera, se indic mximo 5 paginas el Documento, al unir ambos temas (Estructura de
Datos y Programacin por capas), el documento se desarroll en 9 paginas

Programacin 3
Rubik Cube Timer
Christian Paul Salinas

Resumen

Este documento presenta la creacin una Aplicacin hecha, llamada Rubik Cube Timer, la cual fue
hecha para la presentacin del Proyecto de Programacin 3 de la universidad de Cuenca. La
aplicacin aplica varios conocimientos sobre la programacin Orientada a Objetos, teniendo en
cuenta que ahora se aplica la programacin por Capas, que tendr 3 capas princpiales las cuales
sern capa de Datos, de Lgica y de Interfaces, donde se diseara una interfaz de usuario para la
interaccin con la aplicacin y que sea fcil el manejo de la misma, se trabajara en el lenguaje Java,
donde ser necesario utilizar ciertas libreras para alguna tarea especfica de la aplicacin ,as
mismo como el uso de Estructuras de Datos para el manejo de informacin, en este caso se
utilizaran listas enlazadas implementadas con clases, es decir, no de las colecciones de Java, donde
se podr guardar y cargar informacin en la aplicacin con el uso de archivos. El objetivo principal
es la implementacin de conocimientos adquiridos en el curso de programacin 3, en cursos
pasados tales como son estructuras de control como tambin el uso de archivos, la correcta
implementacin de la programacin por capas y la investigacin aparte, para disear una aplicacin
que va dirigida hacia las personas que tiene conocimiento de cmo resolver el cubo de Rubik ya sea
para mejorar su desempeo en cada resolucin ya que siempre se mejora practicando, y tambin a
las personas que no tambin no saben cmo resolverlo, para incentivar a que aprenda a resolverlo
ya que es interesante resolver el cubo, el cual no es tan complicado como la mayora de gente
piensa. Se obtendr una aplicacin la cual nos permita registrar estadsticas de diferentes sesiones
de resolucin de los diferentes cubos de Rubik que contiene la aplicacin., tales estadsticas podrn
ser guardadas en archivos y a su vez ser cargadas en la aplicacin.

2 Palabras Clave
Solve, SpeedCubing, Capas, Objetos, Clase, Instancia, Interfaz, Average, Estadstica, Scramble,
SpeedSolving, Listas Ligadas, Programacin.

3 Introduccin
Resolver el cubo de Rubik o conocido tambin como cubo mgico, para muchas personas puede ser
muy difcil a veces tambin algunas personas llegan a pensar que es imposible, lo cual es un
pensamiento errneo, ya que no es muy complejo. Y eso lo conocen las personas que se dedican a
lo que se conoce como Speed Solving, que significa resolver el cubo de manera muy rpida, para lo
cual pueden existir diferentes Torneos de menor categora hasta de nivel mundial, es decir pueden
existir miles de personas que practican da a da para mejorar su desempeo, para ello se ha creado
una aplicacin la cual sirve para la prctica en la resolucin del cubo y obtener informacin escrita
de la misma. Existen pocas algunas aplicaciones web que sirven para la prctica de la resolucin del
cubo de Rubik, pero casi ninguno nos da por ejemplo una grfica de desempeo de una sesin de
prctica, lo cual es un punto importante al ser realizado en Java, se aplica una librera especfica,
tambin se obtiene el mejor tiempo realizado, el peor y el promedio de la sesin, adems de indicar
los 5 y 10 mejores tiempos, tambin cada uno con sus promedios (su traduccin al ingls es

Programacin 3
Rubik Cube Timer
Christian Paul Salinas
Average y en la aplicacin ser especificado con AVG). Todo esto ser obtenido en la aplicacin
adems de poder tener las opcin que eliminar tiempos, descalificacin de un tiempo, asignar una
penalizacin, generar un Scramble aleatorio (serie de movimientos para mezclar el cubo) y tener
un tiempo de inspeccin del cubo antes del solve, esto se realiza respetando al sistema de
competicin oficial de torneo de Speed Solving, los cuales tiene muchas otras ms caractersticas
pero esta son las principales para la prctica. Uno de los problemas al momento de programar fue,
el manejar de cada Estructura de Datos, ya que en esta aplicacin se maneja dinmicamente la
generacin de las mismas, lo cual fue un poco confuso al momento de cambiar de categora de cubo
por ejemplo, o al tener que borrar datos o sealar penalizaciones para algn tiempo. Tambin se
podran crear ms categoras de diferentes puzles o cubos ya que con la programacin por capas, es
ms fcil el manejo de informacin y de modificacin de cdigo.

4 Mtodo
4.1

Materiales, Fuentes y Descripcin

4.1.1 Descripcin del Proyecto


Para el Desarrollo de la aplicacin se utiliz el lenguaje de Programacin Java, en el IDE NetBeans
8.1
El programa contara con una interfaz de usuario principal, en la cual se encontraran todos los Datos
que se quieren obtener, y tambin entrada de datos que se da para que el programa realice una tarea,
con entrada de datos se quiere decir:

La eleccin de una categora de cubo,


Elegir un tiempo de inspeccin de cubo antes del Solve,
Elegir una opcin para cada tiempo
o Eliminar Tiempo
o Penalizacin +2
o DNF (DID NOT FINISH). Descalificacin de Tiempo
Interactuar con la Barra de Men
La barra de Men tendr varias opcin como
o Borrar Datos
o Guardar Datos
o Cargar Datos
o Especificar que es un Scramble (para personas que no estn familiarizados)
o Videos Tutorial.

El solve comienza cuando el usuario presiona la tecla ESPACIO, es una nica forma de iniciar el
cronometro, esto se realiz con el fin de que el inicio y Fin de un Solve, sea de manera ms fluida y
los ms rpida posible. El usuario podr cambiar de categora cada vez que desee, sin que se
eliminen o pierdan los Datos de la categora que dejo, a pesar de que todo est en el mismo lugar, el

Programacin 3
Rubik Cube Timer
Christian Paul Salinas
programa se Maneja con en JPanel parmetro que dependiendo que categora elija, se cambiara al
panel de dicha categora, de la misma manera los botones de opcin de cada Solve.
Igualmente se crearan listas ligadas para cada cubo y una lista parmetro para el cdigo que capte
cada accin en el cdigo y cada vez que se elija una categora, la lista parmetro para a tener los
valores de la lista del cubo elegido Las listas tendrn varia informacin en cada Nodo, como es el
tiempo en tipo doubl, un String del tiempo, un String con el Scramble. Con esta informacin, cada
Lista tendr la capacidad de obtener cada dato estadstico y poder mostrarse en la interfaz del
usuario.
Se quiere Obtener varios datos Estadsticos, tales como

Mejor Tiempo
Peor Tiempo
Promedio(AVR)
Numero de Resoluciones(Solves)
Lista de 5 Mejores Tiempos
AVG de mejores 5
Lista de 10 Mejores Tiempos
AVRG de mejores 10
Grafica XY de Desempeo de una sesin de un cubo especifico

4.2 Estructuras de Datos


Para almacenar los datos de cada resolucin y que no tenga lmite alguno, se utilizaran Lista
ligadas, pero no listas pertenecientes a las colecciones de Java, si no se crean las clases Lista y
Nodo para poder almacenar varios objetos que pertenecen a cada Solve, se guardara un doubl
tiempo (dato numrico de tiempo), String dato_string (dato de tiempo en String), String Scramble
(el Scramble del Solve).

4.3 Capas utilizadas


Dentro del Proyecto, vemos que este contiene 3 capas que son por lo general las ms usadas e
importantes que son, la capa de Datos, capa de Lgica o Negocios, y la capa de Interfaz, existe
adems otro paquete o carpeta llamada img el cual solamente tendr las imgenes que contiene
nuestra aplicacin, eso se hace solo para mantener ms ordenado el proyecto.
4.3.1

Capa de Lgica

La Grafica 1, indica el contenido de la capa de Lgica, que es la encargada de realizar todos los
procesos y funcionalidades de la aplicacin, la cual contiene 3 clases:
o Clase rubikMain: Contiene el main de la aplicacin la cual instancia la interfaz principal y
corre la aplicacin

Programacin 3
Rubik Cube Timer
Christian Paul Salinas
o
o

Clase Lista: Se implementa listas ligadas en la aplicacin las cuales son creadas
implcitamente, esta tiene mtodos y funciones para obtener los datos estadsticos, so
conecta con el paquete de Datos.
Clase Graficas: crea las grficas JFreeChart

4.3.2 Capa de Datos


En la Grafica 2, se observa el contenido de la capa de Datos, la cual, contiene la informacin con la
que trabaja nuestra aplicacin, la mayora de funciones aqu son set y get. Las clases
CargarTiempos y GuardarTiempos en el desarrollo de la aplicacin, estaban en la capa de
Lgica por tener procesos para guardar archivos, pero al manejar archivos deben ir en esta capa de
Datos. Se tiene 3 Clases, l:
o

4.3.3

Clase Nodo: al Implementar Lista ligadas, se crea esta clase para poder almacenar la
informacin de cada objeto, en este caso contendr el tiempo de un Solve, el tiempo en
String y el Scramble en String
Clase GuardarTiempos: Esta clase guarda en un archivo los datos de una sesin de solves
que hemos realizado, guarda los datos que existe en la clase Nodo., puede guardar de dos
maneras, para vista de usuario y otra forma para poder cargar a la aplicacin la informacin.
Clase CargarTiempos: Esta clase ayuda a cargar los datos dentro de la aplicacin, para
poder ser asignados a las variables de la lista enlazada y poder ser mostrados en la interfaz.
Capara de Interfaces

Es la encargada de interactuar con el usuario, en la Grafica 3, se tiene las siguientes interfaces:


o Rubiktimer: Es la interfaz principal, donde se mostrara toda la aplicacin y datos
obtenidos adems del men e imgenes
o AyudaScramble: Ventana para dar a conocer que es un Scramble, el porqu del mismo y
como se deben realizar los movimientos.
o CargarDat: interfaz para comunicarse con la Clase CargarTiempos y cargar los datos de
un archivo
o GuardarDatos: Se comunica con la Clase GuardarTiempos, para guardar la informacin
de una sesin de Solves.
o ConsultarLimpiar: Cada vez que se quiera eliminar datos de alguna categora de cubo se
muestra esta interfaz para confirmar o cancelar el proceso.
o Tutorial: encarga de poder mostrar un video tutorial de YouTube en la aplicacin con la
implantacin de la librera DJNativeSwing(video obtenido de un canal aparte del
programador).

4.4 Diagrama de Clases


Presente en la Grafica 4.

Programacin 3
Rubik Cube Timer
Christian Paul Salinas

4.5
4.5.1

Libreras y clases implementadas


Clase Timer

Principalmente la aplicacin tendr el cronometro que tendr Minutos, Segundos y Centsimas de


segundos, esto se puede realizar en Java, importando la Clase Timer, de la manera que se indica en
la Grafica 5, que nos ayuda a que realicen varias Acciones de Eventos (ActionEvents) en
intervalos especificados, es decir para el cronometro, se realizara cada intervalo un cambio de la
variables de tiempo en un JLabel en el que fue implementado, esta se puede implementar de la
siguiente manera
new Timer (delay, taskPerformer).start ();
Delay es un entero en milisegundos, que indica el intervalo en que realizara la accin de un evento.
taskPerformer).start () ser la accin que se especifique dentro del cdigo
En la Grafica 6, se indica que en el proyecto se crearan dos objetos de la clase Timer, uno para el
cronometro para cada solve y otro para el conteo atrs. El primero t tendr un delay de 10, para que
el cronometro corra rpido con respecto a las centsimas de segundo, el segundo t_atras para la
cuenta atrs tendr un delay ms lento de 900.

4.5.2 Eventos con el Teclado


Para el inicio de cronometro y cuenta atrs, en la descripcin se dijo que se comienza y finaliza con
la tecla ESPACIO para hacer ms fluido el uso de la aplicacin y adems de que optimiza el tiempo
de cada Solve, ya que se perdiera segundo o centsimas de segundo al tener que realizarlo con el
JButtons y es lo que menos se desea en esta aplicacin ya que la aplicacin debe permitir comenzar
y terminar lo ms rpido posible, simulando a los Timer oficiales de Torneos.
En la Grafica 7, la Interfaz principal de usuario tendr que implementar la interfaz de Java
KeyListener e implementar todos sus mtodos abstractos
En la Grafica 8, se observa la implementacin de los mtodos keyTyped, keyPressed.
keyRealeased, los cuales sirven para capturar eventos del teclado, dentro del mtodo KeyPressed, va
todo lo que se quiere que se realice en que programa cuando se pulsa la tecla ESPACIO, la cual se
especifica cmo se indica en la Grafica 9 a continuacin:\
4.5.3 JFreeChart
Esta Clase ayuda a crear graficas XY de varios tipos, para el Proyecto se crean graficas de Lineales
de rea. Para importar esta Clase y la librera es necesario descargar los archivos .jar que contiene
esta librera (link de descarga en bibliografa).

Programacin 3
Rubik Cube Timer
Christian Paul Salinas
Descargado el archivo, en la capeta lib se encuentra los 2 archivos .jar necesario, los cuales son:
o
o

jfreechart-1.0.19
jcommon-1.0.23

En la Grafica 10, se importa los archivos .jar al proyecto, esto es necesario ya que Java no tiene por
defecto las clases que la contienen, despus ya podemos importar la librera y poder crear objetos
JFreeChart.
En la Grafica 11, se importa la librera para crear objetos JFreeChart y de manera especfica las
grficas, las cuales son graficas de rea, ya que hay muchas otras pero no son necesarias en este
proyecto. La Grafica 11, est en el Paquete Lgica dentro de la clase Graficas.
4.5.4 DJ Native Swing
Esta librera esta implementada solo para poder mostrar un video dentro de la aplicacin, con el fin
de informar a personas que conozcan el procedimiento para armar un cubo bsico de 3x3 puedan
ver el video y poder aprender
Como ocurri en la Clase JFreeChart, esta clase no est dentro de Java por defecto, es necesario
descargar archivo .jar para poder implementarlos (link de descarga en bibliografa).
Descargado el archivo, los tres archivos .jar necesario son:
o
o
o

DJNativeSwing
DJNativeSwing-SWT
swt-4.3-win32-win32-x86

Nuevamente en la Grafica 10, se importa los archivos. Jar, se podr crear objetos con esa librera
que necesitamos para poder mostrar un video en nuestra aplicacin.
En la Grafica 12, se muestras la implementacin de la Liberia DJ NativeSwing donde se importa
Native Interface y JWebBrowser para la creacin de la ventana donde se visualizara el video (video
de YouTube el cual est referenciado debidamente en la bibliografa).
La implantacin del cdigo para mostrar un video est en el paquete Interfaz en la Clase Tutorial,
est basado en un video tutorial, el cual est referenciado en la bibliografa.
4.6 Para que Usuario Objetivo se cre la Aplicacin.
La aplicacin al ser un programa de SpeedSolving, claramente es mas til para las personas que ya
practican con el cubo de ser posible diariamente, ya que la informacin estadstica ayuda a observar
el avance o decaimiento de la Persona que practica SpeedSolving, ya que puede ser un aplicacin
para mejoramiento a largo plazo, o a corto tambin si ya es una persona avanzada, lo puede usar los
Scrambles ayudan muchos para cada registro de informacin porque ayuda a ver cules son con los
que mejores tiempos se ha hecho y volver a utilizarlos para prctica. Esto no quiere decir que la
aplicacin solo vaya dirigida a las personas avanzadas, cualquier persona que este recin

Programacin 3
Rubik Cube Timer
Christian Paul Salinas
comenzando lo puede usar, de igual manera se puede ir mejorando, adems de poder un video
tutorial dentro la aplicacin.
4.7 Reproducible
Es necesario tener los archivos .jar indicados, importados en el Proyecto, los cuales eran para las
imgenes JFreeChart y para el video DJNativeSwing. Estos Archivos, Java Archive permiten
ejecutar aplicaciones escritas en el lenguaje Java

5 Resultados
Como Resultados, se muestras varias Graficas de la aplicacin, los cuales sern explicados en
Discusin y Conclusiones
Interfaz Principal de la Aplicacin (rubikTimer.java), en la Grafica 13, contiene todos los
componentes necesarios en el JFrame principal para la interaccin con los usuarios. Una interfaz
amigable, fcil para cualquier persona donde se encuentra la barra de opciones. La interfaz principal
con los primero registros en la Grafica 14, todos los datos estadsticos establecidos, Imagen de
cubo actual, seleccin de tiempo atrs, generador de grfica, y cronometro en letras grandes ya que
es lo principal.
En la Grafica 15, se observa la diferencia de los archivos Generados, adems en la Grafica 16, se
observa la venta de ayuda de Scramble, en la Grafica 17, son ventanas de excepciones.
En la Grafica 18, se observa un ejemplo de una grfica XY, de una sesin de solves, tambin en la
Grafica 19, se ve los datos estadsticos de la sesin de solves, adems se ve la venta de video
tutorial de un cubo 3x3 en la Grafica 20.

6 Discusin y Conclusiones
6.1 Explicacin de los Resultados
Tenemos como resultado, una aplicacin que ayuda a obtener tiempos en la resolucin del cubo de
rubik, ya sea para avanzados para practicar o para principiantes en comenzar a desenvolverse con
un sistema que emular un sistema de competencia. Donde existen varias ventanas aparte de la
principal donde se encuentra la mayora de los datos, existen ventanas de validacin para evitar una
mala funcionalidad, se puede borrar los datos cuando se quiera, sin tener que salir de la aplicacin,
ventanas para guardar y cargar archivos de datos, los cuales se cargaran y se podr seguir en la
prctica de la misma sesin, donde los botones de eliminar, DNF penalizacin y todos las dems
opciones puede ser accionadas. Paras las personas que no est familiarizadas con el cubo existe un
tutorial el cual existe dentro de la aplicacin, en una ventana de la misma la cual podrn aprender a
armar en cubo (no abre una venta de navegar aparte, si no en la misma aplicacin, funciona con
conexin a internet). Adems de ello la ventana de ayuda Scramble para recordar los movimientos,
especialmente del cubo 4x4, ya que son diferentes.

Programacin 3
Rubik Cube Timer
Christian Paul Salinas
La implementacin de la estructura de Datos, tales como las listas ligadas que se crean
implcitamente, ayudan no solo a almacenar la informacin en los nodos, sino tambin para diversos
procesos, tales como la obtencin de las lista de mejores 5 y 10 tiempos.
La programacin por capas ha ayudado mucho a el desarrollo de la aplicacin, ya que mantiene el
cdigo muy bien ordenado, se tiene procesos en una capa (Lgica), almacenamiento de datos y
obtencin de los mismos en otra capa (Datos) y la interaccin con el usuario en otra capa
(Interfaces).
6.2 Posibilidad de Relacionar con otros Trabajos
El mtodo de obtencin y almacenamiento de datos, de tiempos y estadsticas se ha realizado con
Lista ligadas, las cuales podran aplicarse a otros proyectos si aplican una estructura de datos
parecida, dependiendo del lenguaje, pero principalmente se puede relacionar con otros trabajos del
mismo tipo implementando la generacin de una grfica XY mediante la clase JFreeChart (si es en
Java) y tambin en el manejo de archivos, con la opcin de guardar y poder cargar los datos el
momento que se desees, no solo el aplicacin de este tipo, sino tambin en otras en la que se desea
manejar archivos y estadstica.
6.3 Problemas en el Desarrollo
La generacin de los botones dinmicamente, puede crear confusin a la hora del desarrollo, esto
fue un pequeo problema ya que al momento de cargar los datos de un archivo, ya que los botones
generados iterativamente (while mientras nodo no sea null), no respondan a las acciones de teclado,
esto se solucion al momento de poner dentro del bucle iterativo las caractersticas de cada botn,
es decir se tuvo que asignar a cada uno la propiedad cuando se agregaba al panel.
El manejo de los Paneles (JPanel) tambin es dinmico, lo cual causaba problemas al momento de
cambiar de categora o borrar datos de una categora, principalmente cuando se quera borrar una
categora en la cual no se encuentra el usuario. Se us un JPanel parmetro para poder navegar en
cada categora dentro de un JScrollPane que contiene el panel parmetro y los paneles de cada
categora, para borrar se debe estar en la categora que se desea borrar, esto para evitar errores, entre
otros.
6.4 Ventajas del Trabajo
Como se especific en la Explicacin de los Resultados, esta aplicacin permite obtener una grfica
de desempeo de una sesin de Solves, esto ayuda mucho a mejorar las estadsticas del usuario y a
manejar. El poder guardar archivo para que el usuario pueda leerlo de manera fcil y otro para
poder cargar a la aplicacin y seguir una sesin pendiente.
La programacin por capas, ayuda mucho como se dijo, a mantener ordenado el cdigo, lo cual
hace fcil su edicin u optimizacin, se podra agregar ms categoras de cubo, lo cual no sera muy
complicado ya que se sabe dnde estn los datos y proceso que debe seguir para conseguir las
estadsticas y registrar tiempos, esta agregacin de categoras se podra agregar en el futuro.

Programacin 3
Rubik Cube Timer
Christian Paul Salinas

7 Bibliografa

Link de descarga para la Librera DJ Native Swing, Disponible en:


http://ufpr.dl.sourceforge.net/project/djproject/DJ%20Native%20Swing/1.0.3%20preview
/DJNativeSwing-SWT-1-0-3-20140708.zip
Link
de
descarga
para
la
librera
JFreeChart,
Disponible
en:
http://ufpr.dl.sourceforge.net/project/jfreechart/1.%20JFreeChart/1.0.19/jfreechart1.0.19.zip
No name. [SIMPLECODE]. (2015, Septiembre, 12).JAVA How to embed Youtube video into
JFrame
[Archivo
de
Video].
Recuperado
de:
https://www.youtube.com/watch?v=GKiHB5AzihE
Class
Timer.
www.oracle.org
.Disponible
en
:
https://docs.oracle.com/javase/7/docs/api/javax/swing/Timer.html
JFreeChart. www.jfree.org. Disponible en http://www.jfree.org/index.html
Prez. P. [Patricio Prez Pinto]. (2014, Febrero, 25). [Java]Crear Componentes
Dinmicamente
[Archivo
de
Video].
Recuperado
de:
https://www.youtube.com/watch?v=bp9XblpZSSw
Valadez. D. [DaLiWasHereTV]. (TUTORIAL: Como Armar El Cubo Rubik (Mtodo Bsico).
[Archivo de Video]. Recuperado de : https://www.youtube.com/watch?v=zoKpsye580w

8 Graficas

Grafica 1 Capa de Lgica

Programacin 3
Rubik Cube Timer
Christian Paul Salinas

Grafica 2 - Capa de Datos

Grafica 3 - Capa de Interfaces

Grafica 4 - Diagrama de Clases

10

Programacin 3
Rubik Cube Timer
Christian Paul Salinas

Grafica 5 - Importacin de la librera Timer

Grafica 6 - Dos objetos Timer principales

Grafica 7 - Implementacin KeyListener

Grafica 8 - Mtodos de la interfaz KeyListener

11

Programacin 3
Rubik Cube Timer
Christian Paul Salinas

Grafica 9 - Validar solo tecla Espacio

Grafica 10 - Agregar archivos .jar externos

Grafica 11 - Importar libreras para crear graficas JFreeChart

12

Programacin 3
Rubik Cube Timer
Christian Paul Salinas

Grafica 12 - Importar libreras para crear ventana de YouTube

Grafica 13 - Interfaz Principal

13

Programacin 3
Rubik Cube Timer
Christian Paul Salinas

Grafica 14 - Interfaz Principal con datos

14

Programacin 3
Rubik Cube Timer
Christian Paul Salinas

Grafica 15 - Comparacin entre archivos para Usuario y para Cargar

15

Programacin 3
Rubik Cube Timer
Christian Paul Salinas

Grafica 16 - Ventana Ayuda Scramble

Grafica 17 - Ventanas de Excepciones

16

Programacin 3
Rubik Cube Timer
Christian Paul Salinas

Grafica 18 - Ejemplo de Grafica XY de una sesin

Grafica 19 - Datos Estadsticos

17

Programacin 3
Rubik Cube Timer
Christian Paul Salinas

Grafica 20 - Ventana video tutorial

18

You might also like