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. [1]
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: new JComboBox();new JComboBox(Object[] datos);new JComboBox(Vector datos);
Lo métodos son:
Lo métodos son:
Valor de Retorno
void
Nombre del Método
addItem(Object item)
Agrega un elemento al combo
Agrega un elemento al combo
Valor de Retorno
Object
Nombre del Método
getSelectedItem()
Retorna el valor seleccionado.
Retorna el valor seleccionado.
Valor de Retorno
int
Nombre del Método
getSelectedIndex()
Obtiene el índice seleccioando.
Obtiene el índice seleccioando.
Valor de Retorno
void
Nombre del Método
setEditable(boolean tipo)
Determina si sólo mostrara los valores (false) o si se
pueden escribir nuevos valores (true)
Determina si sólo mostrara los valores (false) o si se
pueden escribir nuevos valores (true)
Y al igual que que JList, tiene un Listener que es: ItemListener que sólo implementa un método: public void itemStateChanged(ItemEvent e) que se realiza cuando se cambia a un item.
El registro del Listener se realiza con el método addItemListener de la clase JComboBox. [2]
El registro del Listener se realiza con el método addItemListener de la clase JComboBox. [2]
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();
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={
static String[] lista={
"municipios","tecate","tijuana","ensenada","tecate"
};
static JComboBox municipios = new JComboBox(lista );
static JTextField jt1=new JTextField(15);
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){
// 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);
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);
//cargando segundo panel con jbutton y jtextfield
p2.add(jb1);
p2.add(jt1);
ventana.getContentPane().add(p1);
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() ) );
}
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 [3]
}; // termina main
} // termina clase [3]
4 comentarios:
Hola!!!
Revice tu blogger, y te aconsejo que le coloques imagenes, ya que asi se ve muy "Ladrilludo".
Deicy
mueatra buena informacion aunque faltan ilustraciones en los temas
Hola, tienes buena información pero faltan imagenes.
HOLA EL BLOGG TIENE TODA LA INFORMACION,PERO DEBISTE COLOCAR IMAGENES
Publicar un comentario