Java - Extraer registros de una tabla en un JComboBox

 
Vista:
sin imagen de perfil

Extraer registros de una tabla en un JComboBox

Publicado por enrique (3 intervenciones) el 10/06/2016 15:30:21
Hola compañeros: Estoy lidiando con unos JComboBox que no he podido solucionar. En un formulario y mediante un jTable se extraen los registros a unos Text Fields, todo funciona bien, excepto los JComboBox que no traen los registros de la tabla en MySQL. En uno de los JComboBox de nombre mSexo se necesita que traiga el registro de la tabla (en este caso “MASCULINO” o “FEMENINO” ). Mi problema es mayor con los otros combos, ya que estos JComboBox tienen más de 30 alternativas de selección para el usuario. Por tanto tampoco serviría este código para mostrar la información que en este caso solo tiene dos alternativas (masculino y femenino) que tampoco funciona:

1
2
3
4
5
6
7
8
9
int selectedRow = Tabladedatos.getSelectedRow();
if (selectedRow >= 0) {
	String sexo = Tabladedatos.getModel().getValueAt(selectedRow, 0).toString();
	if (sexo.equals("MASCULINO")){
		mSexo.setSelectedIndex(1);
		} else if (sexo.equals("FEMENINO")){
		mSexo.setSelectedIndex(2);
	}
}

El código entero, es el siguiente;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
	int fila=Tabladedatos.getSelectedRow();
	if(fila>=0){
		mNume.setText(Tabladedatos.getValueAt(fila,0).toString());
		// Combobox1.getSelectedItem().toString(); // Aquí existen 5 alternatives del combobox1
		mRut.setText(Tabladedatos.getValueAt(fila,2).toString());
		mNombre.setText(Tabladedatos.getValueAt(fila,3).toString());
		mPaterno.setText(Tabladedatos.getValueAt(fila,4).toString());
		mMaterno.setText(Tabladedatos.getValueAt(fila,5).toString());
		mDireccion.setText(Tabladedatos.getValueAt(fila,6).toString());
		mPoblacion.setText(Tabladedatos.getValueAt(fila,7).toString());
 
		int selectedRow = Tabladedatos.getSelectedRow(); // Aquí estoy probando una solución
		if (selectedRow >= 0) {
			String sexo = Tabladedatos.getModel().getValueAt(selectedRow, 0).toString();
			if (sexo.equals("MASCULINO")){
				mSexo.setSelectedIndex(1);
				} else if (sexo.equals("FEMENINO")){
				mSexo.setSelectedIndex(2);
			}
		}
		mFecha.setText(Tabladedatos.getValueAt(fila,9).toString());
		mFono.setText(Tabladedatos.getValueAt(fila,10).toString());
 
		mDeriva.getSelectedItem().toString();    // Otro mismo problema con 10 alternativas
		mMateria.getSelectedItem().toString(); // Otro mismo problema con 80 alternativas
	}
	else {
		JOptionPane.showMessageDialog(null, "No ha Seleccionado una Fila..");
	}
 
}

Trabajo con Netbeans 8.1
Muchas Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Extraer registros de una tabla en un JComboBox

Publicado por Esmeralda (10 intervenciones) el 11/06/2016 08:01:01
Hola tengo un codigo que te ayudara:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Boton ver
private void btnVerActionPerformed(java.awt.event.ActionEvent evt) {
 
     int filaseleccionada;
 
     try{
 
         filaseleccionada= tblDatos.getSelectedRow();
 
         if (filaseleccionada==-1){
 
             JOptionPane.showMessageDialog(null, "No se ha seleccionado ninguna fila");
 
         }else{
 
             DefaultTableModel modelotabla=(DefaultTableModel) tblDatos.getModel();
 
             String codigo=(String)modelotabla.getValueAt(filaseleccionada, 0);
             String nombres=(String) modelotabla.getValueAt(filaseleccionada, 1);
             String apellidos=(String)modelotabla.getValueAt(filaseleccionada, 2);
             String email=(String)modelotabla.getValueAt(filaseleccionada, 3);
             String celular=(String)modelotabla.getValueAt(filaseleccionada, 4);
             String direccion=(String)modelotabla.getValueAt(filaseleccionada, 5);
             String ciudad=(String)modelotabla.getValueAt(filaseleccionada, 6);
 
 
             txtNombrecontacto.setText(nombres);
             txtApellidoscontacto.setText(apellidos);
             txtEmail.setText(email);
             txtCelular.setText(celular);
             txtDireccion.setText(direccion);
             cboxCiudad.setSelectedItem(ciudad);
 
 
          }
 
       }catch (HeadlessException ex){
 
             JOptionPane.showMessageDialog(null, "Error: "+ex+"\nInténtelo nuevamente", " .::Error En la Operacion::." ,JOptionPane.ERROR_MESSAGE);
 
       }
 
}


y para la tabla

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
DefaultTableModel modelotabla=(DefaultTableModel) tblDatos.getModel();
 
String codigo=(String)modelotabla.getValueAt(filaseleccionada, 0);
String nombres=(String) modelotabla.getValueAt(filaseleccionada, 1);
String apellidos=(String)modelotabla.getValueAt(filaseleccionada, 2);
String email=(String)modelotabla.getValueAt(filaseleccionada, 3);
String celular=(String)modelotabla.getValueAt(filaseleccionada, 4);
String direccion=(String)modelotabla.getValueAt(filaseleccionada, 5);
String ciudad=(String)modelotabla.getValueAt(filaseleccionada, 6);
 
 
txtNombrecontacto.setText(nombres);
txtApellidoscontacto.setText(apellidos);
txtEmail.setText(email);
txtCelular.setText(celular);
txtDireccion.setText(direccion);
cboxCiudad.setSelectedItem(ciudad);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Extraer registros de una tabla en un JComboBox

Publicado por enrique (3 intervenciones) el 12/06/2016 15:26:53
Muchas gracias por tu respuesta. Resulto muy bien.
agradecimientos.
saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar