我有 3 个表具有所有相同的列标识符。我的控制器正在听他们所有的三个模型。除了更改表布局(例如,在其中一个列名中添加表名前缀)之外,是否有更优雅的方法来识别哪个模型触发了事件?
这是我当前的工作实现:
/**
* 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);
}
}
}