Practica3 GUI
Practica3 GUI
Practica3 GUI
Ejercicios
1. Diseñar una interfaz que permita seleccionar una edad y mostrar un mensaje con la edad seleccionada. Deberá
usar un control Spinner para seleccionar la edad.
En el componente JFrame:
• Deshabiltar la propiedad resizable, para evitar que sea cambiado de tamaño durante la ejecución.
• Establecer la propiedad maximumSize, con el tamaño deseado para el JFrame.
• Centrar la ventana usando el método setLocationRelative.
setLocationRelativeTo(Component): Establece la posición de la ventana relativa a un componente
pasado como parámetro. Si se le pasa null como parámetro se posiciona en el centro de la pantalla.
Ejemplo: setLocationRelativeTo(null)
Un JSpinner es un componente swing de java con una caja de texto y un par de botones que nos permiten
incrementar y decrementar valores, Sirven para elegir un valor entre un rango de valores. También se puede
escribir directamente un valor dentro del cuadro.
Los valores permitidos para el spinner son controlados por su modelo asociado. Podemos usar alguno de los
modelos predefinidos o definir un modelo personalizado:
• SpinnerListModel
• SpinnerNumberModel
• SpinnerDateModel1
Los cambios de valor se controlan con ChangeListener
Object getPreviousValue() Devuelve el objeto en la secuencia anterior al objeto devuelto por getValue().
boolean isEnabled() Devuelve true si el componente está activo, en caso contrario, devuelve false
void setEnabled(boolean) Habilita (true) o deshabilita (false) el objeto, en cuyo caso no puede ser seleccionado
void setVisible(boolen) Establece la visibildad del componente, según el valor establecido en el parámetro
2. Diseñar una interfaz que permita seleccionar un día de la semana y mostrar un mensaje según el día
seleccionado. Para los días lunes a viernes, mostrar “Día: XXXX, debe cursar en la universidad”. Para los días
sábado y domingo, mostrar “Día: XXXX, es un día de descanso”.
Página 1
Universidad Tecnológica Nacional – Facultad Regional Tierra del Fuego
Tecnicatura Superior en Programación – Programación II
3. Diseñar una interfaz que permita seleccionar una fecha del mes actual y mostrar un mensaje con la fecha
seleccionada, en formato dd/MM/yyyy.
La clase SimpleDateFormat nos ayuda a mostrar las fechas en el formato que deseamos o a reconstruirlas a partir
de una cadena de texto/String.
SimpleDateFormat la clase se usa para formatear (date a string) y analizando (string a date) fechas.
SimpleDateFormat nos permite definir nuestras propias strings de patrón de fecha y hora para el formato de fecha
y hora utilizando las siguientes letras de patrón:
Las letras del patrón generalmente se repiten, ya que su conteo determina la representación exacta. Los patrones
distinguen entre mayúsculas y minúsculas .
Algunos métodos de la clase SimpleDateFormat:
Método Descripción
String format(Objeto) devuelve la fecha o la hora en formato string definido: Ej: dd/ MM /yyyy.
String format(Date) devuelve la fecha o la hora en formato string definido: Ej: dd/ MM /yyyy.
Date parse(String) Devuelve una fecha a partir de un string. Convierte un String a Date
4. Diseñar una interfaz que permita seleccionar los datos correspondientes a una fecha, usando 3 controles
Spinner: día, mes y año.
Página 2
Universidad Tecnológica Nacional – Facultad Regional Tierra del Fuego
Tecnicatura Superior en Programación – Programación II
5. Diseñar una interfaz que permita ingresar el nombre de una materia, el alumno y las 3 notas obtenidas.
Finalmente deberá mostrar el promedio obtenido e informar si aprueba la materia o no.
6. Diseñar una interfaz que permita seleccionar un día de la semana y mostrar el día seleccionado y la posición en
la que se encuentra en la lista ofrecida.
El control JComboBox representa una lista desplegable donde los elementos de la misma están ocultos,
visualizándose al activar el botón de desplegar de la lista.
font Configura las propiedades del tipo de fuente, estilo y tamaño de los elementos que desplegará la
lista
foreground Configura el color de frente del componente, es decir, el color del texto
maximumRowCount Establece el número máximo de renglones que visualizará la lista al hacer click en la flecha
desplegable. Sólo se aceptan números enteros positivos
model Establece el modelo que la lista combinada utiliza para obtener los datos a desplegar
selectedIndex Establece el índice del elemento seleccionado
selectedItem Establece el elemento seleccionado de la lista
toolTiptext Configura el texto a desplegar como ayuda emergente al pasar el mouse por el control
La lista se podrá completar en tiempo de ejecución, por ejemplo desde una base de datos, por ahora nos centraremos
en completarla en tiempo de edición. En la propiedad Model se encuentran disponible las siguientes opciones:
ComboBox Model Editor, Value from existing component y Custom Code. Para completar la lista combinada en
tiempo de edición ( sin que cambie su contenido durante la ejecución del programa) deberá configurar con la primera
opción.
Creada la lista combinada, es posible determinar el elemento seleccionado, su índice, agregar más elementos a la
lista o quitar algunos de estos elementos.
A continuación, se presentan algunos métodos de la clase JComboBox.
Método Descripción
Object getSelectedItem() Devuelve el elemento seleccionado como un Object
int getSelectedIndex() Devuelve el índice del elemento seleccionado
Obect getItemAt(int index) Devuelve el elemento que se encuentra en el índice indicado.
int getItemCount() Devuelve la cantidad de elementos que hay en la lista.
void removeAllItems() Elimina todos los elementos del JComboBox
void removeItemAt(int index) Elimina de la lista el elemento especificado en el índice
void addItem(String item) Agrega un elemento a la lista
void setSelectedIndex(int anIndex) Selecciona el elemento ubicado en la posición indicada
Página 3
Universidad Tecnológica Nacional – Facultad Regional Tierra del Fuego
Tecnicatura Superior en Programación – Programación II
7. Diseñar una interfaz que liste en un componente JComboBox los colores primarios.
Deberá permitir:
a) Agregar componentes: los controles que permitan agregar el nuevo componente deberán visibilizarse
después de presionar el botón Agregar e inmediatamente deberán ocultarse.
a.
b) Borrar el último componente: deberá permitir borrar el último color de la lista de colores
c) Borrar todos los componentes: deberá borrar todos los colores de la lista de colores
8. Realizar un formulario que permita ingresar las distintas provincias de Argentina. Las provincias ingresadas
deberán mostrarse en un control JComboBox.
También deberá permitir eliminar provincias: de a una, todas o una provincia específica.
Deberá permitir:
a) Agregar una fruta a la lista de frutas
b) Seleccionar una fruta de la lista y eliminarla
c) Eliminar todas las frutas de la lista
d) Agregar un botón Salir, para cerrar la aplicación
Usar el control JList para mostrar las frutas que serán registradas a través de un JtextField.
JList es un componente que contiene una lista de objetos. Es similar a JComboBox, pero posee algunas diferencias:
• Se utilizan cuando se desea visualizar varios elementos de la lista a la vez.
• Se puede seleccionar uno o varios elementos a la vez.
Para trabajar con este componente es necesario establecerle un modelo (Model). Una clase modelo es la que
contiene los datos a representar en la interfaz gráfica. Los cambios en el objeto modelo actualizan automáticamente
los cambios en la interfaz gráfica. Básicamente un modelo contiene una lista de objetos a mostrar en la lista y una
serie de operaciones que podemos realizar sobre los objetos, como insertar, eliminar, etc.... Existen clases ya
definidas para realizar este trabajo como DefaultListModel.
A continuación, se presentan algunas propiedades de JList.
model Modelo que usa el componente para mostrar datos
selectionMode Configura el modo de selección, simple o múltiple
Página 4
Universidad Tecnológica Nacional – Facultad Regional Tierra del Fuego
Tecnicatura Superior en Programación – Programación II
Consiste en declarar un objeto de tipo DefaultListModel, vincular el modelo al JList y agregar los elementos al
modelo.
Página 5