To quebrado a cabeá qui faz tempo e resolvi pedir ajuda hehe, quero que quando o usuário clica numa coluna do JTable e aperta um botao o abre-se um JnternalFrame e mostra os detalhes desse cadatro especifico selecionado. Mas não sei porque ele SEMPRE mostra é do ultimo cadastro mesmo ele clicando na linha 3, 8 ou 9…
Segue uma parte do código:
Para fazer a query no banco de dados:
Object[] myline = new Object[15];
resetCompleteList();
int a=0;
while(rs.next())
{
table.setValueAt(rs.getInt("id"), i, 0);
table.setValueAt(rs.getString("razaosocial"), i, 1);
table.setValueAt(rs.getString("cidade"), i, 2);
table.setValueAt(rs.getString("uf"), i, 3);
myline[a] = rs.getInt("id");
myline[++a] = rs.getString("nomefantasia");
myline[++a] = rs.getString("razaosocial");
myline[++a] = rs.getString("cnpj");
myline[++a] = rs.getString("endereco");
myline[++a] = rs.getString("numero");
myline[++a] = rs.getString("bairro");
myline[++a] = rs.getString("complemento");
myline[++a] = rs.getString("cidade");
myline[++a] = rs.getString("uf");
myline[++a] = rs.getString("cep");
myline[++a] = rs.getString("ie");
myline[++a] = rs.getString("email");
myline[++a] = rs.getString("telefone");
myline[++a] = rs.getString("nomecontato");
completelist.add(myline);
i++;
a=0;
}
completelist é um ArrayList<Object[]>
Dai no método do botão para ver os detalhes fiz assim:
selectedrow = table.getSelectedRow(); // ja foi declarado como int
if(selectedrow == -1)
{
JOptionPane.showMessageDialog(frame, "Você não selecionou nenhuma linha!", "Erro.", JOptionPane.ERROR_MESSAGE);
}
Object[] details = completelist.get(selectedrow);
//daqui em diante é apenas código de GUI que usa esse Object[] details para gerar um JInternalFrame com os dados
Não presciso postar o resto pq aqui ja vi que deu problema ai, pois tudo do details são informações do ultimo cadastro e não do cadastro numero selectedrow.
Ja testei e vi que selectedrow está funcionando, ele passa o número correto do qual eu clico.
Alguem viu o erro??