Existe algum evento que permita capturar a troca de celula dentro de um Jtable??
Quero preencher um formulário de acordo com a celula selecionada na tabela, somente o evento click não serviria, já que o usuário pode navegar entre as células com o teclado também.
vc pode capturar a posição da célula ativa adicionando os eventos de tecla e de mouse
suaTabela.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
//pega as coordenadas da célula
}
}
);
//além disso vc tem q adicionar o evento de tecla
suaTabela.addKeyListener(new KeyAdapter(){
public void keyReleased(KeyEvent e){
//se a tecla pressionada for " ---" ou for "---" etc
//pega as coordenadas da célula
}
}
);
Houve alguns inconvenientes, por exemplo, se o usuário fosse apertando tab para ir navegando entre os componentes, dispara o evento, mas como não há nenhum item selecionado na tabela da erro se não tratar.
mas vai servir.
dessa forma vc evitarar os erros…Ou seja, só disparará o evento se a tecla pressionada for a(as) tecla(as) digitada(as) que vc previu na construção do evento!
é em portugues… é bem simples… e te ensina como bindar dados
…
se vc usa Netbeans… siga os seguintes procedimentos
Digamos que vc tenha um JTable que o nome dele é masterTable … dentro do JTable vc tenha objetos Pessoa, que tenha a propriedade getFirstName() e setFirstNome(String nome) por exemplo…
basta adcionar 1 JFieldText… clicar com direito no JFieldText… escolher VINCULAR > TEXT
procure o seu Objeto JTable, que no meu caso é masterTable… selecione ele em Código Fonte de Vinculação
Em expressão de vinculação, selecione SELECTED ELEMENT > firstName
agora sempre que vc selecionar um dado na tabela, ele vai mostar o firstName no campo, e assim quando vc editar o firstName no campo, ele ja edita automaticamente na tabela