Tenho duas classes que extendem combo box, cada um para colocar um combo box em JTable diferentes, em uma das JTables funciona legal, mas na outra não! :?
Jah revirei o codigo diversas vezes, podem dar uma olhada?
Combo Box que NÃO funciona
package Classes.Modelos;
import java.sql.ResultSet;
import java.sql.SQLException;
public class CombTabContas extends ColunaComboBox{
public CombTabContas(){
super();
initComboBox();
}
public void initComboBox(){
try{
ResultSet rs = super.getConnBD().getStm().executeQuery("SELECT tipo_pagamento FROM tipo_pag AS tp INNER JOIN fn_conta_tipo_pag AS fc ON tp.cod_tipo_pag = fc.cod_tipo_pag");
if(rs.first()){
do{
this.addItem(rs.getString(1));
}
while(rs.next());
}
}
catch(SQLException sqle){
sqle.printStackTrace();
}
}
}
Tabela que NÃO funciona (metodo que inicializa o JTable chamado no construtor)
public void initTabela(){
try {
stm = (Statement) gcbd.getBanco().getConexao().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = stm.executeQuery("SELECT fc.conta FROM tipo_pag AS tp INNER JOIN fn_conta_tipo_pag AS fc ON tp.cod_tipo_pag = fc.cod_tipo_pag");
modelo = (DefaultTableModel) tabTipoPagamento.getModel();
if(rs.first()){
do{
modelo.addRow(new Object[]{rs.getString(1)});
}
while(rs.next());
}
rs.first();
}
catch (SQLException ex){
ex.printStackTrace();
}
colunaCombo = tabTipoPagamento.getColumnModel().getColumn(1);
colunaCombo.setCellEditor(new DefaultCellEditor(comboBox));
modelo.addRow(new Object[]{});
tabTipoPagamento.setModel(modelo);
}
Combo box que FUNCIONA
package Classes.Modelos;
import java.sql.ResultSet;
import java.sql.SQLException;
public class CombTabCentCustGrup extends ColunaComboBox {
public CombTabCentCustGrup(){
super();
initComboBox();
}
public void initComboBox(){
try {
ResultSet rs = super.getConnBD().getStm().executeQuery("SELECT descricao FROM fn_ccusto AS fc INNER JOIN fn_grupo_ccusto AS fg ON fc.codfnccusto = fg.ccusto");
if(rs.first()){
do{
this.addItem(rs.getString(1));
}
while(rs.next());
}
}
catch (SQLException ex){
ex.printStackTrace();
}
}
}
Tabela que FUNCIONA (metodo que inicializa o JTable chamado no construtor)
public void initTabela(){
try {
stm = (Statement) gcbd.getBanco().getConexao().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = stm.executeQuery("SELECT fg.grupo, fg.percentual FROM fn_grupo_ccusto AS fg INNER JOIN fn_ccusto AS fc ON fc.codfnccusto = fg.ccusto");
modelo = (DefaultTableModel) tabCentroCustGrupos.getModel();
if(rs.first()){
do{
modelo.addRow(new Object[]{rs.getObject(1)});
modelo.setValueAt(rs.getObject(2), rs.getRow()-1, 2);
}
while(rs.next());
}
rs.first();
}
catch (SQLException ex){
ex.printStackTrace();
}
comboBoxTab = tabCentroCustGrupos.getColumnModel().getColumn(1);
comboBoxTab.setCellEditor(new DefaultCellEditor(colunaComb));
modelo.addRow(new Object[]{});
tabCentroCustGrupos.setModel(modelo);
}