estou tentando pegar o conteúdo atualizado de uma célula do JTable, mas sempre retorna o conteúdo antigo.
Na célula (0,0) tenho na coluna nome o continente “América”, altero para “América teste” quando teclo o enter me retorna “América” e não “América teste”.
Aí vai o código:
//método que cria minha jtable;
public JTable Lista_Continentes() {
ArrayList dados_Continentes = new ArrayList();
String[] colunas_Continentes = new String[] { "Nome", "Codigo" };
try {
conexao.conecta_Utils();
cQuerySql = "SELECT * FROM CONTINENTES ORDER BY CTN_NOME";
pstm = conexao.con.prepareStatement(cQuerySql);
resultado_RS = pstm.executeQuery();
while (resultado_RS.next()) {
dados_Continentes.add(new String[] {resultado_RS.getString("CTN_NOME"),resultado_RS.getString("CTN_CODIGO") });
}
} catch(Exception e){
JOptionPane.showMessageDialog(null, "Erro ao listar os Continentes.", "Mensagens", JOptionPane.INFORMATION_MESSAGE);
System.out.println(e.getMessage());
}
fecha_Conexoes();
boolean [] edicao = {true, false};
SimpleTableModel modelo = new SimpleTableModel(dados_Continentes, colunas_Continentes, edicao);
jtb_Continentes = new JTable((TableModel) modelo);
jtb_Continentes.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
return jtb_Continentes;
}
// método que estou usando para pegar o valor da célula após teclar o enter. Só para exemplificar deixei a linha e coluna no 0,0;
private void jtb_ContinentesKeyReleased(KeyEvent e) {
String Conteudo = "";
Conteudo = ((String) jtb_Continentes.getValueAt(0,0));
if (e.getKeyCode() == KeyEvent.VK_ENTER){
JOptionPane.showMessageDialog(null, Conteudo1, "Mensagens", JOptionPane.INFORMATION_MESSAGE);
}
}