Pessoal, qual método testa se uma linha da jtable foi clicada?
Depois eu consigo excluir tal linha com jtable.remove()?
Agradeço muito a ajuda.
Pessoal, qual método testa se uma linha da jtable foi clicada?
Depois eu consigo excluir tal linha com jtable.remove()?
Agradeço muito a ajuda.
JTable possui alguns métodos como getSelectedRow e getSelectedColumn que podem lhe informar a linha e coluna selecionada.
Para excluí-la é um pouco mais complicado… Você deve pegar o TableModel desta tabela, através do método getModel.
Ai vem o grande pulo do gato… Este modelo é na maioria das vezes um DefaultTableModel, e através de um casting você consegue trabalhar com uma instância desta classe…
Esta instância lhe fornece método removeRow e removeColumn que você pode user para realizar o que você quer!
Tente fazer assim, acredito que não terá problema!

Só ressaltando, o DefaultTableModel é a pior forma de se trabalhar com o JTable. Se você fizer seu próprio model, você pode evitar o cast que ele falou, e obter diretamente um objeto da sua classe de negócios do seu JTable. Para mais informação, basta consultar o link da minha assinatura.
int linha = _jTableExemplo.getSelectedRow();
if (linha != -1) { // Testa se a linha está selecionada
_DefaultTableModelExemplo.removeRow(linha);
}
private DefaultTableModel _DefaultTableModelExemplo; //que vc instancia
private JTable _jTableExemplo; //que vc instancia
private JScrollPane _jScrollPaneExemplo; //que vc instancia
.
.
.
_jScrollPaneExemplo.setViewportView(_jTableExemplo);
_jTableExemplo.setModel(_DefaultTableModelExemplo);
Realmente, DefaultTableModel é inútil, mas se quiser persistir nele (recomendo fortemente que não), pode fazer algo do tipo no performed do botão:BrunoBastos, viny e pedroroxd, obrigado pela ajuda. pedroroxd consegui resolver utilizando seu método, com uma modificação:perceba que vc tem que ter o:int linha = _jTableExemplo.getSelectedRow(); if (linha != -1) { // Testa se a linha está selecionada _DefaultTableModelExemplo.removeRow(linha); }private DefaultTableModel _DefaultTableModelExemplo; //que vc instancia private JTable _jTableExemplo; //que vc instancia private JScrollPane _jScrollPaneExemplo; //que vc instancia . . . _jScrollPaneExemplo.setViewportView(_jTableExemplo); _jTableExemplo.setModel(_DefaultTableModelExemplo);
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
//jsp.setViewportView(jTable2);
jTable2.setModel(modelo2);
int linha = jTable2.getSelectedRow();
if (linha != -1) {
modelo2.removeRow(jTable2.getSelectedRow());
} else {
JOptionPane.showMessageDialog(null, "Selecione um item na tabela!");
return;
}
}
Valeu pessoal, já já estou de volta!
Vlw…
Qualquer coisa tamo ae…
Mas recomendo fortemente você a não utilizar default table model, antes que acostume com ela…
Motivos, segundo ViniGodoy:
Se quiser saber +, leia AKI: http://www.guj.com.br/posts/list/15/199067.java#1001295