从 JTable 添加/删除行后,是否有任何可用的事件会被触发?
问问题
3430 次
2 回答
14
在表本身上,不,但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
}
}
});
于 2013-03-21T12:32:35.547 回答
2
是的,只要添加或删除行,就会触发TableModelEvent 。
您需要创建一个TableModelListener,然后使用addTableModelListener将其添加到您的 TableModel 中。
如果您实现了自己的 TableModel,请确保在添加或删除行之后调用fireTableRowsDeleted(int firstRow, int lastRow)
或。fireTableRowsInserted(int firstRow, int lastRow)
例如:
theTable.getModel().addTableModelListner(yourTableListener);
whereyourTableListener
是实现 TableModelListener 接口的类的实例。
于 2013-03-21T12:39:40.837 回答