JTable内にlostFocusがある場合は、既存のセルの行と列を取得する必要があります。FocusLostイベント中にJTable selectedRowとselectedColumnを取得する方法
ただし、ソースは常にJTextFieldまたはJComboBoxのいずれかであるため、以下の条件は常にfalseです。
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中に行と列を取得する方法はありますか?そうでない場合は、これを行うためのより良い方法がありますか?
opposComponentはjavax.swing.JViewportです。 JTableではありません – Reusable