Tenho uma jTable (codigo no final) definida como
public class SimpleTableModel extends AbstractTableModel
Observem no codigo do mouseClicked() que
System.out.println("Pos: " + jTDomicilio.getSelectedRow());//NÃO FUNCIONA
não funciona, pois sempre devolve -1, e
System.out.println("Pos: " + jTDomicilio.rowAtPoint(new Point(e.getX(), e.getY())));//FUNCIONA
funciona perfeitamente, devolvento a linha correspondente.
Quando poderei saber qual método deverá ser usado e quando?
private JTable getJTDomicilio() {
if (jTDomicilio == null) {
try {
String[] colunas = new String[] { "Nome", "Tipo", "Número",
"Complemento", "Tel. Contato", "Celular" };
listaDomicilio = null;
listaDomicilio = loadjDomicilio(locCodigo, baiCodigo, logCodigo);
TabelaDomicilio modelo = new TabelaDomicilio(listaDomicilio, colunas);
jTDomicilio = new JTable(modelo);
jTDomicilio.setBackground(java.awt.SystemColor.inactiveCaptionText);
jTDomicilio.setFont(new java.awt.Font("Verdana",
java.awt.Font.PLAIN, 10));
jTDomicilio.setShowGrid(true);
jTDomicilio.setShowHorizontalLines(true);
jTDomicilio.setShowVerticalLines(true);
//MARCA A PRIMEIRA LINHA DA TABELA
//jTDomicilio.changeSelection(0,1,false,false);
jTDomicilio.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
/*ListSelectionModel rowSM = jTDomicilio.getSelectionModel();
rowSM.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
//Ignore extra messages.
if (e.getValueIsAdjusting()) return;
ListSelectionModel lsm = (ListSelectionModel) e.getSource();
if (!lsm.isSelectionEmpty()) {
int selectedRow = lsm.getMinSelectionIndex();
System.out.println("Domicilio1..." + (selectedRow + 1));
try {
rsDomicilio.absolute(selectedRow + 1);
System.out.println(selectedRow + " " + rsDomicilio.getInt("dom_codigo"));
domCodigoPar = rsDomicilio.getInt("dom_codigo");
getJTUnidade(domCodigoPar);
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}); */
jTDomicilio.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
System.out.println("Pos: " + jTDomicilio.getSelectedRow());//NÃO FUNCIONA
System.out.println("Pos: " + jTDomicilio.rowAtPoint(new Point(e.getX(), e.getY())));//FUNCIONA
}
});
System.out.println("Domicilio2...");
//getJTUnidade();
} catch (java.lang.Throwable e) {
// TODO: Something
}
} else {
((TabelaDomicilio)jTDomicilio.getModel()).removeAllRow();
listaDomicilio = null;
listaDomicilio = loadjDomicilio(locCodigo, baiCodigo, logCodigo);
((TabelaDomicilio)jTDomicilio.getModel()).setLinhas(listaDomicilio);
((TabelaDomicilio)jTDomicilio.getModel()).fireTableDataChanged();
}
return jTDomicilio;
}