Búsqueda:



Retroceder   ForoDeJava.com La Comunidad de Java Habla Hispana > Índice > Java avanzado

 

Etiquetas
java, jcombobox, mysql, numérico, tomar

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-sep-2008, 02:40
Avatar de luisalb
luisalb luisalb está desconectado
Principiante
 
Fecha de Ingreso: septiembre-2008
País:
Mensajes: 7
Agradecimientos: 0
Le agradecieron 0 veces
Poder de Credibilidad: 0
luisalb no se puede calificar en este momento
Enviar un mensaje por Yahoo  a luisalb
Predeterminado JAVA y MySQL - Llenar un JComboBox con datos textuales, pero tomar su valor numérico

Un saludo a toda la gente del foro. Soy nuevo por aquí y también nuevo en el mundo de la programacion JAVA. Espero que esta opcion (Java avanzado) sea la mejor para este tema.

Mi consulta es la siguiente: Como hacer para llenar un jComboBox con datos textuales, pero a la vez guardar un dato numérico, y al escoger uno de los items solo coger el dato numérico.

Por ejemplo, tener un jComboBox con los nombres de las categorias de productos, pero al escoger una categoria; pasar el código de la categoría y no el nombre.

Los datos quisiera llenarlos, mediante una clase, que se conecte a la Base de datos MySQL y traiga tanto el nombre y el codigo del la tabla categoria.

Otra pregunta, la opcion DefaultComboBoxModel, tiene alguna opcion para trabajar de mejor forma, el caso propuesto anteriormente.

Por sus respuestas muchas gracias. LuisAlb
Responder Citando
Entre a los Links relacionados
  #2  
Antiguo 23-sep-2008, 19:10
Avatar de JPedro
JPedro JPedro está desconectado
Principiante
 
Fecha de Ingreso: septiembre-2008
País:
Mensajes: 3
Agradecimientos: 0
Le agradecieron 0 veces
Poder de Credibilidad: 0
JPedro no se puede calificar en este momento
Enviar un mensaje por MSN a JPedro
Predeterminado

Hola, según lo que entendí lo que necesitas es una de las siguientes opciones:
A. Puedes Guardar el código seguido de un símbolo especial que elijas por ejemplo un guión (-) y luego el nombre. Entonces tomas el texto que quieras en este caso el código con un metodo de la clase String ej.
Código Java:
codigo=texto.substring(0,indexOf('-')) 
B.Puedes guardar el nombre solamente y después cuando se escoja un item entonces haces una consulta que te devuelva el codigo a partir del nombre ej.
Código Java:
select codigo from tabla where nombre='combobox.getSelectItem()'
espero te sirva!

saludos!!!

Última edición por ziniestro; 12-jun-2010 a las 03:30 Razón: El código Java va entre las llaves [PHP] y [/PHP] ...gracias! ;)
Responder Citando
  #3  
Antiguo 23-sep-2008, 19:23
Avatar de JPedro
JPedro JPedro está desconectado
Principiante
 
Fecha de Ingreso: septiembre-2008
País:
Mensajes: 3
Agradecimientos: 0
Le agradecieron 0 veces
Poder de Credibilidad: 0
JPedro no se puede calificar en este momento
Enviar un mensaje por MSN a JPedro
Predeterminado JComboBox con base de datos

Hola!

puedes guardar el nombre solamente en el JComboBox y luego cuando se escoja un Item entonces mandas una consulta a la base de datos que a partir de ese nombre extraiga el codigo correspondiente ej. "select codigo from tabla where nombre='JComboBox.getSelectedItem()"

o también puedes guardar el codigo y el nombre en el JComboBox y separarlo con algún caracter por ej. el guión ('-') y entonces puedes extraer el codigo de la siguiente forma:
Código Java:
String texto=JComboBox.getSelectItem();
String codigo=texto.subString(0,indexOf('-')); 
donde 0 es el indice del caracter inicial a buscar y indexOf('-') te devuelve el indice donde se encuentra el guión y subString toma el string entre estos dos indices

Saludos

Última edición por danis; 22-jul-2009 a las 12:41 Razón: El código va entre las llaves [CODE] y [/CODE] ;)
Responder Citando
  #4  
Antiguo 27-sep-2008, 15:40
Avatar de diavlo
diavlo diavlo está desconectado
Principiante
 
Fecha de Ingreso: septiembre-2008
País:
Mensajes: 52
Agradecimientos: 0
Le agradecieron 15 veces
Poder de Credibilidad: 91
diavlo tiene un aura espectacular a su alrededordiavlo tiene un aura espectacular a su alrededor
Enviar un mensaje por MSN a diavlo
Predeterminado

O tb podrias almacenar los nombres en un arreglo y ese arreglo le pasas al combobox y los codigos en otro arreglo asi digamos el elemento 0 del arreglo de nombres tiene como codigo al elemento 0 del areglo de codigos
Responder Citando
  #5  
Antiguo 18-jun-2009, 17:31
Avatar de GermanTandil
GermanTandil GermanTandil está desconectado
Principiante
 
Fecha de Ingreso: junio-2009
País:
Mensajes: 1
Agradecimientos: 0
Le agradecieron 0 veces
Poder de Credibilidad: 0
GermanTandil está en el buen camino
Predeterminado

Hola puedes hacer un objeto que contenga un string para el texto y un integer para el numero, por ejemplo, este objecto debe tener implementado el metodo equals y el metodo toString, en donde en el metodo toString retornas el texto, y en el metodo equals vos veras cuando son iguales, una vez que hagas esto, carga el combo con este objeto, y listo, cuando veas el combobox te mostrara el texto, y cuando selecciones el item, el metodo comboBox.getSelectedItem(), este metodo te da un Object, a ese objeto lo casteas al objeto que creaste y ahi tenes la informacion que necesitas. espero que se entienda saludos
Responder Citando
  #6  
Antiguo 12-jun-2010, 01:01
Avatar de linuxerito
linuxerito linuxerito está desconectado
Principiante
 
Fecha de Ingreso: mayo-2010
País:
Mensajes: 11
Agradecimientos: 0
Le agradecieron una vez
Poder de Credibilidad: 0
linuxerito está en el buen camino
Predeterminado

Mira Yo lo Hago de esta manera y funciona perfectamente

me declaro una variable general asi

Código Java:
private List<Integerid;
luego en el constructor lo creas 
public constructor(){
 
id = new ArrayList<Integer>();
}

Luego Tengo un Metodo que me carga mediante
un defaultablemodel

    
private void listarTipoUsuario() {
        try {
      
/*Bueno yo cargo de esta manera mi aplicacion es cliente servidor*/
/*Pero tu lo puedes hacer de otra manera
la idea es que metas mediante una consulta los datos de tu BD en un modelo 
como yo lo hago

*/

      
DefaultTableModel modelo Oconectar.Conectar().CargarTipoUsuario();
/*En el CargarTipoUsuario llamo a un procedimiento almacenado
Pero haslo a tu modo esto solo es un ejemplo
*/

/*Y aqui va el chiste 

Una ves que tengo el los registros cargados en el modelo
lo que hago es recorrer el modelo con un for
añadir  a mi lista ID 
como esta abajo
la fila y columna 
y despues cargo en el jcombobox
el nombre del campo la fila y columna con sus respectivos valores
*/


            
for (int i 0modelo.getRowCount(); i++) {
                
id.add(Integer.valueOf(modelo.getValueAt(i0).toString()));
                
jCombobox1.addItem(modelo.getValueAt(i1));
            }
        } catch (
RemoteException ex) {
            
Logger.getLogger(DialogUsuario.class.getName()).log(Level.SEVEREnullex);
            
JOptionPane.showConfirmDialog(this"No se pudo cargar Los tipos de usuario...""Error..."JOptionPane.ERROR_MESSAGE);
        }
    } 

y para insertar en la Bd
es de esta manera
Código Java:
int idxxxxx id.get(jCombobox1.getSelectedIndex()); 
y ya tienes recuperado el " id "
y ahora puedes insertarle ya teniendo el valor de Id

Espero me ayas entendido
Pero esa es la idea
XD:

Última edición por ziniestro; 12-jun-2010 a las 03:30 Razón: El código Java va entre las llaves [PHP] y [/PHP] ...gracias! ;)
Responder Citando
  #7  
Antiguo 12-jun-2010, 01:05
Avatar de linuxerito
linuxerito linuxerito está desconectado
Principiante
 
Fecha de Ingreso: mayo-2010
País:
Mensajes: 11
Agradecimientos: 0
Le agradecieron una vez
Poder de Credibilidad: 0
linuxerito está en el buen camino
Predeterminado

sorri
Jejeje Y se me olvidada decirte que llames al metodo
Código Java:
public constructor(){
.
.
.
.

id = new ArrayList<Integer>();
 
listarTipoUsuario();


Última edición por ziniestro; 12-jun-2010 a las 03:33 Razón: El código Java va entre las llaves [PHP] y [/PHP] ...gracias! ;)
Responder Citando
  #8  
Antiguo 12-jun-2010, 20:49
Avatar de jgaviria
jgaviria jgaviria está desconectado
Principiante
 
Fecha de Ingreso: junio-2010
País:
Mensajes: 51
Agradecimientos: 0
Le agradecieron 8 veces
Poder de Credibilidad: 140
jgaviria es realmente agradablejgaviria es realmente agradablejgaviria es realmente agradablejgaviria es realmente agradable
Predeterminado

Creo q esto es el mismo problema ya arreglado en otra parte del foro:
http://www.forodejava.com/showthread...=8445#post8445
Responder Citando
  #9  
Antiguo 14-jun-2010, 04:52
Avatar de enmanuel
enmanuel enmanuel está desconectado
Principiante
 
Fecha de Ingreso: septiembre-2009
País:
Mensajes: 22
Agradecimientos: 0
Le agradecieron 3 veces
Poder de Credibilidad: 0
enmanuel llegará a ser famoso muy prontoenmanuel llegará a ser famoso muy pronto
Predeterminado

olle pana si lo que quieres es llenar un combo box con los campos de una tabla en tu base de datos has lo siguiente create un arraylist<> donde cargaras los datos por ejemplo si tienes una clase Evento el arrayList<Evento>eventos; asi lo declaras haces un select a la base de datos donde te traiga lo que quieres y a ese arrayList le agrega lo que te devuelve
luego en el combo box solo recorre ese arreglo asi for(Evento e :llama al getDeTUaRRAYLIS){
jcombobox.addItem(le pasas a e.lo que quieras);
}
Responder Citando
Respuesta

Marcadores

Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado
Ir al Foro

 

La franja horaria es GMT. Ahora son las 05:42.
"Simplicity" made by SimpleGfxDesigns
Powered by vBulletin® Version 3.7.4
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.