Pessoal, alguém pode me ajudar? Gostaria de saber como eu posso lançar em uma JTextField os valores das células da minha JTable? Só que não utilizei interface, a JTable baseia-se no DefaultTableModel, e possui 4 colunas contendo nome, telefone, endereço e e-mail. Ao selecionar uma linha gostaria que cada um dos itens fosse exibido em uma JTextField. Desde já obrigado.
Deve escrever uma classe que implementa ListSelectionListener, e grudá-la ao ListSelectionModel da JTable, assim:
jTable1.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
}
});
Quando você seleciona uma linha da JTable, o selectionListener grudado nela dispara um ListSelectionEvent para o método valueChanged do Listener. Dentro deste método pode escrever o código para preencher as cáixas de texto. Os dados selecionados estão embutidos no ListSelectionEvent.
Espero que ajude
Valeu cannoni, vou tentar, 1 abço!
Consegui implementar a interface que o Cannoni me apresentou, só que agora gostaria de saber se tem como desativar isso temporariamente para poder recarregar a tabela com outros dados, por exemplo, o que acontece em meu programa: clico em um botão para recarregar a tabela e gera uma exceção exatamente no “valueChanged()”. Desde já obrigado.
Isso declara o ListSelectionListener:
private ListSelectionListener selectionListener = new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
// Aqui vai op código do listener
}
};
Isto adiciona (abilita a escuta, ou registra, como preferir) o listener:
jTable1.getSelectionModel().addListSelectionListener(selectionListener);
E isto remove o listener (disabilita a “escuta”):
jTable1.getSelectionModel().removeListSelectionListener(selectionListener);
Você pode adicionar ou remover o listener do selectionModel da tabela quando quiser.
Mais uma vez obrigado, Cannoni, 1 abço!
sei que esse topico está meio antigo, mas preciso de algo semelhante a isso! alguém pode me ajudar?
tenho uma tela que faz pesquisa, gostaria que depois que eu achase o que procurava eu conseguice setar num textFields de uma tela de cadastro!