Programación orientada a eventos: Interfaces gráficas

Índice

  1. Hola, <nombre>
  2. ChoiceBox
  3. Calculadora
  4. Coordenadas
  5. Teclado
  6. Lista de tareas
  7. Lista de tareas 2.0
  8. Chat
  9. Dibujo
  10. Animación
  11. Pong
  12. Ejercitación adicional

Hola, <nombre>

Implementar una aplicación en JavaFX que muestre un cuadro de texto, para que el usuario ingrese su nombre, y un botón. Al clickear el botón se debe saludar al usuario mediante un Alert.

ChoiceBox

Implementar una aplicación en JavaFX que muestre un ChoiceBox con diferentes colores, y un Label que cambie su color en base a la opción elegida.

Calculadora

Implementar una calculadora básica, que permita sumar, restar, multiplicar y dividir dos números ingresados por el usuario.

Coordenadas

Escribir una aplicación que muestre en un Label las coordenadas del puntero del mouse en la ventana.

Teclado

Escribir una aplicación que, cuando el usuario presione cualquier tecla del teclado, muestre un alerta informando cuál fue la tecla presionada.

Lista de tareas

Implementar una aplicación que permita manipular una lista de tareas (TODO list). El usuario debe poder:

  • Agregar tareas (ingresando un título en un cuadro de texto),
  • Ver un listado de tareas
  • Marcar tareas como hechas (mediante un CheckBox)
  • Eliminar tareas

Lista de tareas 2.0

Agregar a la lista de tareas la capacidad de persistir el estado:

  • Cada vez que el usuario hace alguna acción, guardar la lista y el estado de las tareas en un archivo.

  • Al iniciar la aplicación, si el archivo existe, cargar la lista de tareas del mismo.

Chat

Implementar una aplicación que simule un canal de chat con múltiples usuarios, mediante el sistema de eventos de JavaFX.

  • Crear una clase NuevoMensaje que hereda de Event, para representar el evento de un nuevo mensaje enviado al canal.
  • En la ventana principal simular el servidor que permite conectar nuevos usuarios al chat.
  • Cuando se conecta un nuevo usuario, mostrar una ventana nueva (cada ventana es un Stage), con la vista del chat correspondiente a ese usuario. Las ventanas de chat no se conocen entre sí. Cada una de las ventanas se comunicará exclusivamente con el servidor, invocando métodos y escuchando eventos. La ventana de chat se suscribe para escuchar eventos de tipo NuevoMensaje del servidor.
  • Cuando un usuario envía un mensaje desde una ventana de chat:
    1. La ventana de chat envía el mensaje al servidor.
    2. El servidor lanza un evento NuevoMensaje (mediante el método fireEvent).
    3. Todas las ventanas reciben el evento y actualizan la vista para mostrar el mensaje nuevo.

Dibujo

Implementar una aplicación que permita al usuario crear dibujos simples. La aplicación debe permitir, usando exclusivamente el mouse:

  • Crear figuras simples: círculos, rectángulos, etc.
  • Seleccionar, mover y eliminar las figuras

Animación

Utilizando un Canvas, dibujar un círculo que se mueve por la ventana y rebota en los bordes.

Pong

Implementar el juego Pong.

Solución

Ejercitación adicional

Usando JavaFX, implementar una interfaz gráfica simple para los modelos implementados en las guías de Objetos Simples y Herencia y Polimorfismo.