Olá,
Estou com duvida como pegar o Objeto, na verdade o código dele, tenho um combo box que carrego algumas categorias, mas no combo estou exibindo somente o nome dele, mas preciso realmente é pegar o código daquela determinada categoria que foi selecionada para poder gravar ela no banco…
segue meu método responsável por preencher o combobox…
public List<Categoria> buscarTodos() throws SQLException{
List<Categoria> listaCategoria = new ArrayList<Categoria>();
String sql = "select * from categoria order by descricao";
PreparedStatement comando = bd.prepareStatement(sql);
ResultSet cursor = comando.executeQuery();
while(cursor.next()){
Categoria cat = new Categoria();
cat.setCodigo(cursor.getLong("codigo"));
cat.setDescricao(cursor.getString("descricao"));
listaCategoria.add(cat);
}
return listaCategoria;
}
Carrego meu combo no meu construtor da minha classe, para quando executa-la já esta preenchido…
List<Categoria> listaCat = new ArrayList<Categoria>();
public teste() {
try {
initComponents();
Connection bd = ConnectionFactory.getConection();
CategoriaDAO dao = new CategoriaDAO(bd);
listaCat = dao.buscarTodos();
for(Categoria cat : listaCat){
comboCategoria.addItem(cat.getDescricao());
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
Agora é a minha duvida…
exemplo, eu carrego 5 categorias, cat 1, cat 2, cat 3, cat 4, cat 5…
mas essas são apenas exemplos, por que estarei carregado varias categorias…
mas em vez que pegar a descrição delas, eu quero é pegar o código delas…
andei procurando um pouco, e alguns exemplos vi algo parecido com isso que montei…
Categoria cat = (Categoria)comboCategoria.getSelectedItem();
cat.getCodigo();
mas não obtive sucesso, ele da um erro de
Exception in thread “AWT-EventQueue-0” java.lang.ClassCastException: java.lang.String cannot be cast to br.com.projeto.banco.model.Categoria…
Alguma solução?
Galera Obrigado desde Já!!