我想触发一个事件,表示给定的列值已全部更改,即在 X 列的某处,某些值已更改。我该怎么做,因为所有事件都涉及单元格、行或整个数据表...
最佳答案
查看 AbstractTableModel
,看起来构建一个 TableModelEvent
显式可能会成功:
model.fireTableChanged(new TableModelEvent(model, 0, lastRow, columnIndex,
TableModelEvent.UPDATE));
另请参阅 TableModelEvent
的 javadoc:
/**
* Depending on the parameters used in the constructors, the TableModelevent
* can be used to specify the following types of changes: <p>
*
* <pre>
* TableModelEvent(source); // The data, ie. all rows changed
* TableModelEvent(source, HEADER_ROW); // Structure change, reallocate TableColumns
* TableModelEvent(source, 1); // Row 1 changed
* TableModelEvent(source, 3, 6); // Rows 3 to 6 inclusive changed
* TableModelEvent(source, 2, 2, 6); // Cell at (2, 6) changed
* TableModelEvent(source, 3, 6, ALL_COLUMNS, INSERT); // Rows (3, 6) were inserted
* TableModelEvent(source, 3, 6, ALL_COLUMNS, DELETE); // Rows (3, 6) were deleted
* </pre>
*
* It is possible to use other combinations of the parameters, not all of them
* are meaningful. (...)
关于java - JTable - 触发列数据更改事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11861373/