是否有任何可用的事件会在从JTable添加/删除行后被触发?
答案 0 :(得分:13)
在表格本身上没有,但TableModel
负责在模型更改时触发适当的事件。
您可以在TableModelListener
TableModel
JTable table = new JTable();
table.getModel().addTableModelListener(new TableModelListener() {
@Override
public void tableChanged(TableModelEvent e) {
if (e.getType()==TableModelEvent.INSERT||e.getType()==TableModelEvent.DELETE) {
// Do something
}
}
});
答案 1 :(得分:2)
是的,只要添加或删除行,就会触发TableModelEvent。
您需要创建TableModelListener,然后使用addTableModelListener将其添加到您的TableModel。
如果您实施了自己的TableModel,请确保在添加或删除行后调用fireTableRowsDeleted(int firstRow, int lastRow)
或fireTableRowsInserted(int firstRow, int lastRow)
。
例如:
theTable.getModel().addTableModelListner(yourTableListener);
其中yourTableListener
是实现TableModelListener接口的类的实例。