Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Duda con Combobox

Buenas noches, estoy haciendo un crud en eclipse y tengo un problema, resulta que tengo una tabla llamada categoría, la cual cuenta con un id y un nombre, luego viene una tabla producto la cual cuenta con un código, idcategoria(foranea de catecorio) y un nombre..
en el formulario de producto tengo un jcombobox que me lista las categorias, pero como la idea es que no sean categorías en orden 1,2,3,4, hice que el index del combo obtenga el id de la categoría para poder almacenar si del id 4 pasa al 100 como en mi caso..
Ahora el problema es que me guarda, actualiza y elimina, pero no me busca, ya que al buscar convierte el index del combobox al id de la categoria, entonces con las 1,2,3,4 funciona bien, pero al momento de buscar un producto cuya categoria es 100 me da error

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: setSelectedIndex: 123 out of bounds

entonces no se como hacer que el boton buscar me funcione bien en el combobox, de antemano muchas gracias, espero me puedan ayudar con esa duda. dejare mi metodo buscar....

metodo creado en una clase aparte del farma

public void Buscar(int id) throws ClassNotFoundException{
Connection conn = null;
String sql = "CALL uspSelectOneProducto ("+id+")";
try {
conn = c.conectar();
PreparedStatement p = (PreparedStatement) conn.prepareStatement(sql);
ResultSet resultado = p.executeQuery();
if (resultado.next()==true) {
categoria = resultado.getInt("idCategoria");
nombre = resultado.getString("nombre");
} else {
JOptionPane.showMessageDialog(null, "No existe ningun producto con ese codigo en nuestra base de datos");
}
p.close();
} catch(SQLException ex){
JOptionPane.showMessageDialog(null, ex.toString());
}
}


Metodo creado en el frame
public void Buscar(){
try{
if("".equals(txtCodigo.getText())){
JOptionPane.showMessageDialog(null, "Ingrese el codigo del producto");
txtCodigo.hasFocus();
}
else{
int id = Integer.parseInt(txtCodigo.getText());
MetodosProductos log = new MetodosProductos();
log.Buscar(id);
cbCategoria.setSelectedIndex(log.getCategoria());
txtNombre.setText(log.getNombre());
}
}
catch(ClassNotFoundException ex){
JOptionPane.showMessageDialog(null, ex.getMessage());
}
}

junio 14, 2016 | Registered Commenterdaiverbmx9

Bump

junio 15, 2016 | Registered Commenterdaiverbmx9