java - JTable - 触发列数据更改事件

标签 java swing events jtable

我想触发一个事件,表示给定的列值已全部更改,即在 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/

相关文章:

java - jni入门问题

java - 找不到符号执行查询

java - 运行时文本未显示在我的按钮上

javascript - 有没有办法判断元素是否已完成 CSS3 过渡?

javascript - 将事件监听器传递给事件监听器?

java - 减少使用实例变量以减少内存的使用

java - 所有文件选择器。如何排除当前目录

java - 如何让 TitledBorder 的标题在 GUI 中正确显示

java - 通过 ButtonClick 隐藏 JTable 中的多个元素

javascript - 如果我还没有使用 bind 或 click 将事件处理程序绑定(bind)到它,我可以调用 jQuery 的 click() 来跟踪 <a> 链接吗?