我想要完成的是:如果用户将焦点放在我的 JTable 中一行的第 5 列(通过单击它或按 Tab 直到他到达第 5 个单元格),我会显示一个对话框。对话的结果将被放入该单元格中。要访问该单元格,我需要知道所关注的行和列。
我现在面临的问题是,如果我单击单元格,在关注表格中的任何其他内容之前,getSelectedRow() 返回 -1,而 getSelectedColumn() 返回右列。
问题:如何确定第一次单击表格时选定的行。或者是我唯一的选择来做一个大的解决方法来单独处理第一次点击。
new TableColumnModelListener() {
.
.
.
@Override
public void columnSelectionChanged(ListSelectionEvent e) {
System.out.println(getSelectedColumn()); // this is correct
System.out.println(getSelectedRow()); // -1 on first click in JTable
}
}