每當JTable中存在lostFocus時,我需要捕獲現有單元格的行和列。如何在FocusLost事件期間獲取JTable selectedRow和selectedColumn
但是,以下條件始終爲false,因爲源始終是JTextField或JComboBox。
public void focusLost(FocusEvent e) {
int row, col;
Object source = e.getSource();
if(((Component) source).getParent() instanceof JTable_Ext){ //<-- always false
table = (JTable_Ext) ((Component) source).getParent();
row = table.getSelectedRow();
col = table.getSelectedColumn();
}
爲了緩解上述問題,我記得FocusGained(作爲類級變量)時的行和列。問題是,如果用戶在JTable中的所有位置點擊非常快,那麼行和列信息將不同步。
有沒有辦法在FocusLost期間獲得行和列?如果沒有,是否有更好的方法來做到這一點?
對面的組件是一個javax.swing.JViewport。不是JTable – Reusable 2011-06-09 13:16:00