Está en la página 1de 3

Ejercicio Final.

Java Intermedio

Como parte del curso de Java Intermedio el alumno participante podrá elegir entre uno de los
siguientes actividades para reforzar los conocimientos aprendidos durante el curso.

1. Desarrollo de un Chat.

Consiste en desarrollar con las siguientes bases un programa gráfico (Java Swing) que adopte el
comportamiento de un Chat. Las bases se irán adaptando de acuerdo al avance de cada alumno.

El programa consiste de una única interfaz gráfica que adoptará uno de dos roles: servidor o
cliente. Para cada uno de los roles existirán tres fases: desconectado, desconectado, conectado,
conectando.

Componentes Swing:

- Botón Conectar
- Botón Desconectar
- Caja de texto para una IP de conexión
- Una cada de texto para el puerto de conexión
- Y un grupo de RadioButtons para elegir si la interfaz se comportará como cliente o como
servidor.
- Una caja de Texto para enviar un mensaje
- Una caja de Texto para mostrar los mensajes de chat

Métodos relevantes (no necesariamente se listan todos):

- changeStatus(). Uno o más métodos que auxilien al cambio de estado de cada fase
- appendToChat(). Un método que
- send() // Enviar mensaje
- main(). El método main debe contener el código necesario para elegir entre cada una de
las fases, así como para conocer si se trata de un cliente o servidor.
- checkPhase(). Método auxiliar para activar/desactivar los componentes relacionados con
cada fase.

Estados de la conexión:

- DISCONNECTED. Completamente desconectado.


- DISCONNECTING. Transición entre conectado-desconectado
- CONNECTED. Conectado al chat.
- BEGIN_CONNECT. Transición entre desconectado-conectado

Listeners:
- Existen al menos tres Listeners: uno para el botón Conectar, otro para el botón
Desconectar y uno más para Enviar el mensaje.

Gráficamente las fases estarían conformadas aproximadamente como sigue:

NOTA1. El alumno deberá tener manejo de sockets: conocer como se establece una conexión. E
hilos: el funcionamiento del método run().

NOTA2. Un JTextField activa un ActionListener cuando teniendo el foco se presiona la tecla ENTER.

2. Desarrollo de un Juego
Quien esté interesado en el desarrollo del juego terminaremos de analizar el juego pendiente
Aliens para posteriormente pasar al desarrollo de otro conocido como PacMan. Dado que este
último es extenso el objetivo prioritario será reforzar los temas de Java2D y si el tiempo lo permite
se podrán revisar los detalles restantes del juego.

3. Ejercicios de mejora en la programación Java


Este plan consiste en repasar la siguiente lista de temas de java básico que si bien no forman
parte del curso puede auxiliar a reforzar los conocimientos de los alumnos.

- Threads
- Collections (arreglos, ArrayList, HashMap, Set, Queue)
- Exceptions
- Sockets
- Generics (List<Foo>)
- Streams (InputStream, OutputStream)
- Herencia
- Polimorfismo
- Servlets

Los ítems marcados en negritas son los temas de repaso y se aplicarán ejercicios

También podría gustarte