daí galera, estou tendo um probleminha com minha Jtable, quero que quando o usuário clicar em uma determinada linha da tabela chamar um outro form e preencher os campos com os dados que estavam na tabela, mas quando eu clico na tabela não acontece nada, não é exibido o JOptionPane e tbem não sei como fazer para chamar o fomr e preencher os campos.
Este é o código
public void mouseClicked(MouseEvent e) {
if(e.getClickCount() > 0) {
int row = tabela.getSelectedRow();
ovelha = new Ovelha();
String id = String.valueOf(tabela.getValueAt(row, 0));
ovelha.setId(Integer.parseInt(id));
JOptionPane.showMessageDialog(null, id);
}
}
Dica: em 99,97% dos casos, é inútil usar um MouseClicked em JTable. Isso é porque os componentes de JTable normalmente capturam todos esses eventos de mouse, teclado etc. e então o que ocorre é que eles simplesmente não funcionam “do jeito que você imagina que eles deveriam funcionar”. Você precisa obrigatoriamente seguir o que está escrito no Java Tutorial.
Consegui resolver uma parte do problema, qdo clico em uma linha da tabela abre o outro form, mas como faço para passar os dados da tabela pra os textFields do form?
o código está assim.
public ListaAnimais() {
super("Lista de Ovelhas");
initialize();
tabela.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if(e.getClickCount() == 2) {
int row = tabela.getSelectedRow();
ovelha = new Ovelha();
String id = String.valueOf(tabela.getValueAt(row, 0));
ovelha.setId(Integer.parseInt(id));
OvelhaGUI ovelhaGUI = new OvelhaGUI();
ovelhaGUI.setVisible(true);
}
}
});
}