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.*;
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[1]
Utilizar la clase JComboBox
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:
Para utilizar la clase JComboBox en un programa de Java, es necesario primero adicionar lo siguiente:
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.
En las siguientes instrucciones se darán pasos para el adicionamiento de variables a la clase JComboBox.
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. [2]
JComboBox
los JComboBox son muy parecidos a las Listas, excepto que estos también permiten la introducción de los datos, las maneras para crear son muy similares a las de JList:
- void : addItem(Object item). Agrega un elemento al combo
- Object: getSelectedItem(). Retorna el valor seleccionado.
- int: getSelectedIndex(). Obtiene el índice seleccioando.
- void: setEditable(boolean tipo). Determina si sólo mostrara los valores (false) o si se
pueden escribir nuevos valores (true)
El registro del Listener se realiza con el método addItemListener de la clase JComboBox[3]
El primer archivo incluye un programa en el que podemos seleccionar que imagen mostrar mediante un JComboBox, el segundo archivo incluye las imágenes necesarias para que el programa pueda correr.
El constructor de un JComboBox es muy sencillo, lo único que recibe es un arreglo de String. Recuerda que para iniciar un arreglo en una sola línea puedes utilizar las llaves { } como se muestra en la fotografía.
Lo único que es importante mencionar del uso del JComboBox es cómo obtener lo que está seleccionado ya que es muy importante para las aplicaciones que usamos al manejar eventos saber qué seleccionó el usuario. Para conseguir esto podemos utilizar el método getSelectedItem() del JComboBox sólo hay que recordar que el método nos devuelve un Object y tenemos que hacerle un cast a String (poniendo la palabra String entre parentesis como se ve en la imágen).
También es muy sencillo añadir más elementos a un JComboBox una vez que ya está creado. Para hacerlo basta con utilizar el método addItem() que recibe un String.
Para poder escuchar eventos el JComboBox debe de tener un ActionListener que agregamos de la misma manera en que agregaríamos uno a un JButton.
¿Cómo utilizar un JComboBox?
También es muy sencillo añadir más elementos a un JComboBox una vez que ya está creado. Para hacerlo basta con utilizar el método addItem() que recibe un String.
Para poder escuchar eventos el JComboBox debe de tener un ActionListener que agregamos de la misma manera en que agregaríamos uno a un JButton
El constructor de un JComboBox es muy sencillo, lo único que recibe es un arreglo de String. Recuerda que para iniciar un arreglo en una sola línea puedes utilizar las llaves { }
Lo único que es importante mencionar del uso del JComboBox es cómo obtener lo que está seleccionado ya que es muy importante para las aplicaciones que usamos al manejar eventos saber qué seleccionó el usuario. Para conseguir esto podemos utilizar el método getSelectedItem() del JComboBox sólo hay que recordar que el método nos devuelve un Object y tenemos que hacerle un cast a String (poniendo la palabra String entre parentesis como se ve en la imágen). [4]
BIBLIOGRAFIA
[1] http://www.programacionfacil.com/java:jcombobox
[2] http://www.gfc.edu.co/estudiantes/anuario/2003/sistemas/orlando/SGML/Jcombobox/c22.html
[3] http://perseo.cs.buap.mx/~danguer/projects/curso_java/manual/node37.html
[4] http://www.magusoft.net/trials/combobox.html
11 comentarios:
HOLA TU INFORMACION SOBRE EL BLOGG ES MUY BUENA. MANEJAS BIEN LAS IMAGENES SOBRE TODO LA CONEXION A BASE DE DATOS.
CHAO
HOLA, ESTE BLOGG ESTA MUY INTERESANTE LA INFORMACION ESTA MUY COMPLETA Y TIENE BUENA IMAGENES
hola la informacion esta completa
EL BLOG ESTA COMPLETO AUNQUE HACE FALTA GRAFICAR UN POCO MAS Y ALGUNOS EJEMPLOS NO SON MUY CLAROS.
Le falto otra vez definir las clases AWT y SWING y tener un poco mas de cuidado al subir imágenes ya que en dos no es muy legible el código. excelente ejemplo del JCOMBOX.
STIVEN HERNANDEZ
es un buen blog cuenta con buena informacion e ilustraciones que ayudan al enterder los temas
Hola, Bastante información pero faltan imagenes...
hola me parece q la informacion es completa
hola me gusto mucho tu informacion y no se si podras ayudarme, tengo un combobox con conexion a bd, y me muestra nombres de mi bd pero quiero que me guarde ese dato en mi base, pero al intentar guardarlo me sale error xq es de tipo string y en la base me pide entero como le hago para convertir lo que obtengo del combo y guardarlo como entero, xfa agradeceria mucho tu ayuda
Hola me podrías ayudar con un problema, lo que quiero es mostrar los datos en un combobox desde una base de datos, pero por ejemplo ten una bd con la tabla turistas y los campos
idTurista, nombre,apellidos,paisdeorige.
quiero mostrar solo los que son de México por ejemplo.
How to get to Golden Gate Hotel & Casino in New York
Directions to Golden Gate Hotel & 부천 출장샵 Casino 강릉 출장마사지 (New York) with public transportation. The 서산 출장샵 following transit lines have 사천 출장마사지 routes that pass 화성 출장안마 near
Publicar un comentario