すべて同じ列識別子を持つ 3 つのテーブルがあります。私のコントローラーは、3 つのモデルすべてをリッスンしています。テーブル レイアウトを変更する以外に、どのモデルがイベントを発生させたかを特定するより洗練された方法はありますか (たとえば、列名の 1 つでプレフィックス テーブル名を使用するなど)?
これが私の現在の作業実装です:
/**
* Enter here with every edit of the 3 tables
*/
public static class TableListener implements TableModelListener {
@Override
public void tableChanged(TableModelEvent e) {
int row;
int column;
if (e.getSource() instanceof TableModel) {
TableModel model = (TableModel) e.getSource(); // Cast to known model
row = e.getFirstRow();
column = e.getColumn();
String columnName = model.getColumnName(column);
Object data = model.getValueAt(row, column);
}
}
}