Java 在行排序操作之后执行操作
我有一个Java 在行排序操作之后执行操作,java,swing,jtable,Java,Swing,Jtable,我有一个JTable和一个TableRowSorter,我想在排序完成后执行一个操作。我一直在上网,到目前为止运气不太好 起初我以为只要一个RowSorterListener就可以了,但不幸的是,它在排序完成后没有执行该操作 在JTable标题中添加mouseStener可能会起作用,但解决方案并不十分优雅 有人有什么想法吗 非常感谢 Edit(来自comment):在扩展AbstractTableModel的自定义TableModel类中的方法中添加了以下内容。每当在自定义TableMode
JTable
和一个TableRowSorter
,我想在排序完成后执行一个操作。我一直在上网,到目前为止运气不太好
起初我以为只要一个
RowSorterListener
就可以了,但不幸的是,它在排序完成后没有执行该操作
在JTable
标题中添加mouseStener
可能会起作用,但解决方案并不十分优雅
有人有什么想法吗
非常感谢
Edit(来自comment):在扩展
AbstractTableModel
的自定义TableModel
类中的方法中添加了以下内容。每当在自定义TableModel
类中设置/指定JTable
时,就会调用此方法
sorter.addRowSorterListener(new RowSorterListener() {
@Override public void sorterChanged(RowSorterEvent rowsorterevent) {
rebuildMItems(); // The method which executes
}
});
两种可能性:
行分拣机
。您不能简单地在sort()
方法的末尾添加对操作的调用吗
换句话说,您可以添加以下内容:
@Override
public void sort() {
super.sort();
doSomethingAfterSortingIsDone();
}
到你的分拣机RowSorterListener
中执行此操作)执行两次操作:一次用于SORT\u ORDER\u CHANGED
,一次用于SORTED
。您能否检查事件并仅在正确的时间执行操作RowSorterListener
应该可以工作。您能否演示如何添加RowSorterListener以及您的sorterChanged
方法的实现?Akf,感谢您的帮助。在扩展了AbstractTableModel
的自定义TableModel
类中的方法中添加了以下内容。每当在自定义TableModel
类中设置/指定JTable
时,就会调用此方法。addRowSorterListener(新的RowSorterListener(){@Override public void sorterChanged(RowSorterEvent RowSorterEvent){RebuildItems();//执行的方法}});不过没什么太令人兴奋的:大便,看起来格式有问题。你能告诉我我对堆栈溢出还不熟悉吗?:)您不能在评论中格式化任何内容。请您将其添加到问题中,好吗?您是否建议RebuildItems()确实会被调用,但调用得太早?太好了。多谢各位!