JTable有排序事件吗?

Rob*_*452 3 java sorting events swing

我有一个使用JTable的程序.我给它一个RowSorter,这样当你点击列标题时,表格按该列排序.

我想捕获用户单击列标题并输出调试消息.例如

System.out.println("You have sorted by first name ascending");
System.out.println("You have sorted by first name descending");
System.out.println("You have sorted by last name ascending");
Run Code Online (Sandbox Code Playgroud)

所以我需要回应sort事件.我在网上搜索过例子,但我找不到任何例子.

icz*_*cza 6

是的,但它不是的一部分JTable,但RowSorter的.你可以添加一个RowSorterListener:

table.getRowSorter().addRowSorterListener(new RowSorterListener() {
    @Override
    public void sorterChanged(RowSorterEvent e) {
        // Sorting changed
    }
});
Run Code Online (Sandbox Code Playgroud)