Boa noite!
Estou tendo um problema aqui ao recuperar os ComboBox que estão em uma JTable.
Tenho duas colunas da JTable com ComboBoxes. Uma para estado e outra para cidade.
Quando a coluna de Estado é alterada ( valor do ComboBox alterado ), a coluna de cidades também precisa ser alterada.
Para tentar resolver isso, adicionei um ActionListener no ComboBox de Estados, entretanto, não estou conseguindo acessar o ComboBox de Cidades, que está na outra coluna da Jtable.
Um pouco do código:
TableColumn colunaEstado = tabela.getColumnModel().getColumn( 4 );
javax.swing.JComboBox comboEstados = new javax.swing.JComboBox( new Dados.Estado().listar() );
colunaEstado.setCellEditor( new DefaultCellEditor( comboEstados ) );
comboEstados.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent e) {
preencheComboCidadesTabela();
}
});
.
.
.
private void preencheComboCidadesTabela()
{
if( jTable1.getEditingRow() < 0 )
{
return;
}
TableColumn colunaCidade = jTable1.getColumnModel().getColumn( 3 );
colunaCidade.setCellEditor( new DefaultCellEditor(
new javax.swing.JComboBox( new Dados.Cidade().listar( new EstadoDAO().consultar( jTable1.getValueAt( jTable1.getEditingRow(), 4 ).toString() ) ) ) ) );
}
Implementei desse jeito, pegando o valor que está na célula da JTable, na coluna de estados. Entretanto, queria conseguir acessar novamente o comboBox que foi passado para o CellEditor e pegar o seu item selecionado…
Desde já agradeço!