Bom olá galera sou novo aqui e estou precisando de uma ajuda é o seguite:
Tenho uma tela chamada cadastro de curso com um combobox chamado Status onde defino se o curso está ativo ou inativo, também tem um jtable com os cursos cadastro no banco.
No banco criei 2 tabelas uma chamada tab_curso e outra tab_status_curso.
O meu problema é o seguinte mapeei todas as tabelas e tudo certinho só que quando por exemplo clico em um valor do jtable ele seta todos os dados daquele valor nos textfields porem o combobox não muda fica sempre o mesmo.
Ex.: Eu clico no jTable na linha onde tem o curso "Informatica" (que no banco eu cadastrei como inativo) ai todos os dados de informatica vai pros textfield (Nome, Descrição) só que no combobox nao muda o valor de ativo pra inativo. Ele so popular o combo com os dados que eu tenho na tabela tab_status_curso. os codigos que eu usei estão logo abaixo.
Código pra preencher o jtable com os dados do banco e setar os textfield com o primeiro dado cadastradopublic void preencher_tblcurso() {
tblCurso.getColumnModel().getColumn(0).setPreferredWidth(100);
tblCurso.getColumnModel().getColumn(1).setPreferredWidth(10);
tblCurso.getColumnModel().getColumn(2).setPreferredWidth(250);
DefaultTableModel modelo = (DefaultTableModel) tblCurso.getModel();
modelo.setNumRows(0);
SessionFactory grupoSessoes = new Configuration().configure().buildSessionFactory();
Session sessao = grupoSessoes.openSession();
try {
List<TabCurso> list_cursos = new ArrayList();
list_cursos = sessao.createQuery("from TabCurso").list();
int tamanho_lista = list_cursos.size();
for (int i = 0; i < tamanho_lista; i++) {
TabCurso curso = list_cursos.get(i);
modelo.addRow(new Object[]{curso.getNomeCurso(),
curso.getTabStatusCurso(),
curso.getDescCurso()});
}
if (! list_cursos.isEmpty()) { // Seta o primeiro dado do banco para os textField
TabCurso curso = list_cursos.get(0);
txtNomeCurso.setText(curso.getNomeCurso());
combStatus.setSelectedItem(curso.getTabStatusCurso());
txtDescCurso.setText(curso.getDescCurso());
}
} catch (Exception erro) {
JOptionPane.showMessageDialog(null, "Erro ao preencher tabela de Cursos " + erro);
}
}
public void preencher_combStatus() {
SessionFactory grupoSessoes = new Configuration().configure().buildSessionFactory();
Session sessao = grupoSessoes.openSession();
try {
List<TabStatusCurso> list_status = new ArrayList();
list_status = sessao.createQuery("From TabStatusCurso").list();
int tamanho_comb = list_status.size();
combStatus.removeAllItems();
for (int i = 0; i < tamanho_comb; i++) {
combStatus.addItem(list_status.get(i));
}
} catch (Exception erro) {
JOptionPane.showMessageDialog(null, "Erro ao preencher tabela de Cursos" + erro);
}
}
private void tblCursoMouseClicked(java.awt.event.MouseEvent evt) {
int linha = tblCurso.getSelectedRow();
txtNomeCurso.setText(tblCurso.getValueAt(linha, 0).toString());
combStatus.setSelectedItem(tblCurso.getValueAt(linha, 1).toString());
txtDescCurso.setText(tblCurso.getValueAt(linha, 2).toString());
O que está errado se puderem me ajudar.