Práctica 11 Junio 2, 2008
Posted by beceoca in Posts normales.trackback
En esta práctica se desarrollan los conceptos de eventos en Swing.
Para comenzar nos hacen una introducción de lo que vamos a realizar en la sesión, y es crear un programa controlado por la interfaz gráfica.
Hasta ahora los programas que hemos desarrollado no eran demasiado interactivas con el usuario, los únicos mecanismos que teníamos para comunicarnos con la aplicación eran: los argumentos de entrada, entrada estándar y el manejador de ventanas.
Necesitamos alguna forma de comunicarnos con la aplicación distinta a las mencionadas anteriormente, y para ello nos servimos de los componentes de swing que tienen esta utilidad.
En el primer apartado se pide realizar un programa de nombre Simple00GUI que presente una ventana con un botón, cada vez que se pulse el botón se imprimirá un mensaje por la salida estándar.
Únicamente debemos implementar el manejador del botón y añadir en su método actionPerformed la acción System.out.println(“Botón pulsado!”);
El siguiente apartado trata de implementar otra clase de nombre Simple01GUI que además de presentar un botón presente también una etiqueta. Cada vez que el botón sea pulsado debe cambiar el color de fondo de la etiqueta. No debemos olvidar añadir el código etiqueta.setOpaque(true); tras crear la etiqueta para que esta tenga color de fondo.
Para ello añadimos en el actionPerformed del botón la acción que mire el color al que está en ese momento la etiqueta y cambiarle por otro. Para ello debemos elegir un par de colores y crear un if-else para mirar que color tiene la etiqueta y cambiarlo (en nuestro caso hemos elegido los colores blanco y negro).
El algoritmo que realiza esta acción es el siguiente:
if(etiqueta.getBackground() == Color.white){
etiqueta.setBackground(Color.black);
}
else{
etiqueta.setBackground(Color.white);
}
}
El apartado tres consiste en crear otra clase que realice las mismas acciones anteriores, pero añadiendo otra más (cada vez que la tecla Enter sea pulsada se cambiará también el color de la etiqueta). En esta clase comenzaron nuestros problemas de hilos, ya que al atender al evento del botón se desatiende el evento de pulsado de la tecla Enter. Utilizando el método Thread.getName() antes de cambiar el color de la etiqueta vemos que hace caso únicamente al evento del botón.
En este apartado nos quedamos, ya que el resto del tiempo lo dedicamos a la realización de algunos asuntos relacionados con el juego.
Comentarios»
No comments yet — be the first.