Uso básico de elementos Swing con NetBeans – 05 – Uso básico de JComboBox con eventos. Ej. 02.

En esta guía vemos un segundo ejemplo del uso que se le puede dar a un JComboBox junto con eventos. Utilizaremos una lista de formatos de fecha y hora con la que podremos obtener los diferentes formatos de fecha y hora del sistema.
Como siempre para facilitar el diseño debemos de crear paquetes, una para nuestros formularios y otra para las imágenes que se usan habitualmente, en cuestión de imágenes para botones es recomendable “png” con una dimensión 32x32 para los demás usos es a criterio de cada uno. En la imagen del diseño que se expone más abajo se especifican los puntos importantes.
Diseñamos un formulario utilizando un JFrame, el primer elemento que agregamos es nuestro JComboBox al cual le agregaremos ítems utilizando un método que se ejecutará al arrancar el formulario. Agregamos un JTextField para presentar nuestro resultado en el formato que elijamos del JComboBox. Utilizamos JLabels para las etiquetas y el título. Cada elemento tiene un nombre de variable como se especifica en la imagen, tomar en cuenta este punto ya que es necesario para referenciar los objetos. Se puede cambiar el “Nombre de variable” de cada objeto haciendo clic derecho sobre la misma y clic en “Cambiar nombre de variable…”. (clic sobre la imagen para ampliar)
Creamos los métodos siguiente en modo fuente, los métodos creados por nosotros las ubicamos al final de la declaración de variables, justo antes de la llave de cierre general. Se agregan comentario para aclarar la función de cada línea de código.
Código Java
//Método que arranca al ejecutar el formulario..
private void inicio(){
//El campo jtFecha debe estar deshabilitada
jtFecha.setEnabled(false);
//Un array de String con formatos de fecha y hora estándar.
String[] formato = {
"dd MMMMM yyyy",
"dd.MM.yy",
"MM/dd/yy",
"yyyy.MM.dd G 'en' hh:mm:ss z",
"EEE, MMM d, ''yy",
"h:mm a",
"H:mm:ss:SSS",
"K:mm a,z",
"yyyy.MMMMM.dd GGG hh:mm aaa"
};
//Iteramos el array de String y agregaremos cada item al jComboBox.
for (int i = 0; i < formato.length; i++) {
String string = formato[i];
jComboBox1.addItem(string);
}
}
//Método para manejar nuestros formatos de fechas y horas.
private void fomatoFecha(){
//try - catch para controlar las excepciones
try {
//Instanciamos el objeto Date del que obtendremos la fecha y hora del sistema.
Date hoy = new Date();
String f = jComboBox1.getSelectedItem().toString();
//Creamo un SimpleDateFormat y le pasamos como argumento el formato que elijamos del jComboBox
SimpleDateFormat sdf = new SimpleDateFormat(f);
//Obtenemos los datos de fecha y hora con el formato especificado
String fecha = sdf.format(hoy);
//Cargamos esos datos al campo designado.
jtFecha.setText(fecha);
} catch (IllegalArgumentException iae) {
jtFecha.setForeground(Color.red);
jtFecha.setText("Error: " + iae.getMessage());
}

}
Antes de continuar veremos que método se llama desde el constructor y la importación necesaria en este caso.
El paso siguiente es establece un evento para nuestro JComboBox, esto le dará la funcionalidad que necesitamos. El evento que normalmente se utiliza para este tipo de elementos es el ActionPerformed. En la imagen más abajo se ve como es la implementación y seguido el código para los eventos. Si ya vieron alguna guía anterior a esta, podrán saber la ubicación habitual tanto para la lista de eventos como también los métodos que hayamos creado.
Código Java
    private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {                                           
//Se llama al método fomatoFecha(), que hace todo el trabajo.
fomatoFecha();
}
En este punto ya podremos ejecutar nuestro formulario y comprobar su funcionalidad. (Por si hay alguna duda en el proceso, debemos hacer clic derecho sobre nuestro archivo fuente y presionar “ejecutar archivo” ya que nuestro proyecto no tiene una clase principal definida)

No hay comentarios :

Publicar un comentario