当用户在
JTable
上单击单元格时,我该如何确定所单击单元格的行和列?我该如何在JLabel
中显示这些信息?MouseListener
中,像这样做:public void mouseClicked(java.awt.event.MouseEvent event) {
int row = theTable.rowAtPoint(event.getPoint());
int col = theTable.columnAtPoint(event.getPoint());
// ...
您可以使用以下JTable方法来检索所选单元格的行和列:
int rowIndex = table.getSelectedRow();
int colIndex = table.getSelectedColumn();
同时向表格添加一个 SelectionListener
,以便在选定表格时捕获事件。
这对我来说有效!!!
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
@Override
public void mouseClicked(java.awt.event.MouseEvent evt) {
int row = jTable1.rowAtPoint(evt.getPoint());
int col = jTable1.columnAtPoint(evt.getPoint());
if (row >= 0 && col >= 0) {
}
}
});
你尝试过使用addMouseListener()
吗?我希望你正在使用Swing的JTable。
columnAtPoint
返回可见列的索引,这不是我需要的。适用于我的代码是:int row = theTable.convertRowIndexToModel(theTable.rowAtPoint(event.getPoint()));
int col = theTable.convertColumnIndexToModel(theTable.columnAtPoint(event.getPoint()));