是否可以防止在 JTable 上全部排序?基本上,当用户单击表头并且内容处于静态顺序时,我不希望发生任何事情。
问问题
2009 次
3 回答
4
请参阅Javadoc:
公共无效 setRowSorter(RowSorter 排序器)
参数:
sorter
-RowSorter
;null
关闭排序
于 2012-06-14T16:46:40.437 回答
2
基本上,当用户单击表头并且内容处于静态顺序时,我不希望发生任何事情。
基本上JTable
没有任何Sorter,你必须删除代码行
- JTable#setAutoCreateRowSorter(true);
- table.setRowSorter(sorter);
- custom Comparator added as MouseEvent to the JTableHeader
查看并阅读有关排序和过滤的 JTable 教程
于 2012-06-14T17:41:34.280 回答
0
当用户单击任何表标题列时禁用排序的最佳和简单方法:
- 首先你需要在表头上创建一个鼠标点击监听器
- 在它里面只有鼠标左键可用(使用 SwingUtilities)
插入这行代码
yourTableVariable.setRowSorter(null);
实际例子:
yourTableVariable.getTableHeader().addMouseListener(new MouseAdapter() //here you make the click avaible ONLY on Table Header
{
@Override
public void mouseClicked(MouseEvent arg0)
{
if (SwingUtilities.isLeftMouseButton(arg0)) //here you select the mouse left click action
{
yourTableVariable.setRowSorter(null); //here is disableing the sorting
}
}
});
于 2017-12-09T21:41:13.597 回答