Para utilizar la clase JComboBox en Java, hay que seguir una serie de pasos en los cuales se definirán variables y métodos de esta clase como se muestra en la siguiente figura:
Aquí el JComboBox, está mostrando una lista en la que se dan varias opciones predeterminadas del programa, y que para cada opción hay una acción al escogerla.
String[] flechaStrings = {"imagen 1", "imagen 2", "imagen 3", "imagen 4", "imagen 5"};
Aquí primero se definen los valores que se van a tomar, en este caso los carros, para aceptar la variable de tipo String, y que va a ser util al momento de que se tomen estos valores en lista adicionandola a la clase JComboBox, ya veremos como.
JComboBox.
public clase() {
JComboBox lista = new JComboBox(flechaStrings); lista.setSelectedIndex(0);
Aquí estamos primero tomando la clase para que dentro de esa clase, defina una variable lista y la tome como como new JComboBox, y que además adquiera los valores de (flechaStrings); que ya habíamos definido anteriormente. [1]
JAVA JCOMBOBOX
SOLO EN SWING.
Existen muchas ocasiones en donde el usuario del programa tiene que proporcionar datos que provienen de un conjunto finito y muy pequeño de posibles respuestas, esto significa que cada vez que se ejecute el programa, el usuario estará proporcionando las mismas respuestas.
Ejemplo de esta clase de datos, son por ejemplos Municipio en BC, las posibles respuestas solo son (Tecate, Tijuana, Mexicali, Ensenada, Rosarito), otro ejemplo es Sexo (Hombre, Mujer), etc.
Para situaciones como esta, existen componentes que permiten programar por adelantado las posibles respuestas, y el usuario solo debe seleccionar la respuesta apropiada , en lugar de tener que escribirla.
Este componente ComboBox nos permite definir en primera instancia un conjunto de datos o valores respuestas asociados a una caja de edición cualesquiera, así ahora el usuario tendrá la oportunidad de seleccionar un dato del conjunto de datos o respuestas ya predefinido.
Este componente ComboBox tiene dos partes, una parte de encabezado, para poner el nombre del grupo de respuestas( por ejemplo municipios, sexo, etc.).
La segunda parte es la lista de opciones o respuestas que se debe cargar al tiempo de diseño de la ventana.
Al momento de ejecución del programa, toda la lista de respuestas, estarán a la vista del usuario, para que este ultimo la seleccione.
Recordar que el usuario al momento de ejecución del programa, solo vera el encabezado, para seleccionar su respuesta deberá apretar la flechita que esta a un lado del encabezado.
Ejemplo:
import java.lang.*; import java.awt.*; import java.awt.event.*; import javax.swing.*;
public class prog16 {
//declaracion, creacion e inicializacion de componentes, objetos y variables
static JFrame ventana= new JFrame();
static JPanel p1= new JPanel(); static JPanel p2= new JPanel();
static String[]
lista={"municipios","tecate","tijuana","ensenada","tecate"};
static JComboBox municipios = new JComboBox(lista );
static JTextField jt1=new JTextField(15); static JButton jb1= new JButton("OK");
// parte principal de programa
public static void main(String[] args)
{ // area de definicion de propiedades de el objeto
ventana.setTitle("mi programa");
ventana.setDefaultCloseOperation(ventana.EXIT_ON_CLOSE);
ventana.getContentPane().setLayout(new GridLayout(2,0));
//cargando panel1 con combobox y definiendo titulo
p1.setLayout(new GridLayout(1,0));
//observar que index cero es el titulo (aunque es un elemento mas)
municipios.setSelectedIndex(0); p1.add(municipios);
//cargando segundo panel con jbutton y jtextfield
p2.add(jb1); p2.add(jt1);
ventana.getContentPane().add(p1); ventana.getContentPane().add(p2);
ventana.pack(); ventana.setVisible(true);
jb1.addMouseListener( new MouseAdapter()
{ public void mousePressed(MouseEvent e){
// la propiedad getselecteditem() regresa un objeto
jt1.setText(String.valueOf( municipios.getSelectedItem() ) );
}} );
}; // termina main
} // termina clase
www.programacionfacil.com/java:jcombobox
En nuestro Segundo Ejemplo hacemos uso del componente de interfaz gráfica JComboBox, o muchas veces llamado lista desplegable, simplemente mostramos una imagen en un label cada elemento seleccionado en nuestro selector desplegable.
para ello tenemos una serie de imagenes dentro de una carpeta, estas imagenes las cargaremos en un arreglo
private String dir = “images/”; //directorio donde se encuentran las imagenes
private String nombres[] = {
dir+”numUno.gif”,dir+”numDos.gif”,dir+”numTres.gif”,dir+”numCuatro.gif”,dir+”numCinco.gif” }; //arreglo de imagenes
y con ellas llenamos un arreglo de iconos de la siguiente manera
private Icon iconos[] = { new ImageIcon(nombres[0]),
new ImageIcon(nombres[1]),
new ImageIcon(nombres[2]),
new ImageIcon(nombres[3]),
new ImageIcon(nombres[4]) };
Luego en el manejo del evento de nuestra lista desplegable preguntamos si es seleccionada y seteamos en nuestro label el elemento del arreglo iconos en donde guardamos las imagenes(en realidad guardamos los nombres a donde apuntan las imagenes) quedaria de la siguiente manera
if (e.getStateChange()== ItemEvent.SELECTED)
lbletiqueta.setIcon(iconos[cboxImagenes.getSelectedIndex()]);
A continuacion mostramos una imagen de la aplicacion terminada y su codigo fuente listo para compilarse.
BIBLIOGRAFIA CONSULTADA
[1]http://www.gfc.edu.co/estudiantes/anuario/2003/sistemas/orlando/SGML/Jcombobox/
c22.html
[2]http://exequielc.wordpress.com/2008/02/15/manejo-de-eventos-jcheckbox-y-jcombobox-java/
No hay comentarios:
Publicar un comentario