我有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);
}
}
}