table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
...
ListSelectionModel rowSM = table.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()) {
...//no rows are selected
} else {
int selectedRow = lsm.getMinSelectionIndex();
...//selectedRow is selected
}
}
});
...
ListSelectionModel rowSM = table.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()) {
...//no rows are selected
} else {
int selectedRow = lsm.getMinSelectionIndex();
...//selectedRow is selected
}
}
});
((DefaultTableModel)table.getModel()).getValueAt(table.getSelectedRow(), 0);
或者将列转化为模型列。不让显示的列变了之后会出错的。
具体的方法:int intmodelColumn = jTable1.convertColumnIndexToModel(inttableColumn);
DefaultTableModel tableModel=new DefaultTableModel;
JTable jTable1=new JTable(tableModel);
然后:
int row=jTable1.getSelectedRow;
int col=jTables.getSelectedCol;
取值:value=tableModel.getValueAt(row,col);