0
当前每个标题都包含该列的名称,并且在其下面包含一个组合框。每当组合框被点击时,jtable自动分类。有没有简单的方法来禁用排序只是组合框的点击,同时保留头的其余部分按点击排序。JTable分割标题禁用排序
我有人建议JXTable,但我担心它会引起更多的问题,比它会解决。
任何帮助表示赞赏。
当前每个标题都包含该列的名称,并且在其下面包含一个组合框。每当组合框被点击时,jtable自动分类。有没有简单的方法来禁用排序只是组合框的点击,同时保留头的其余部分按点击排序。JTable分割标题禁用排序
我有人建议JXTable,但我担心它会引起更多的问题,比它会解决。
任何帮助表示赞赏。
尝试类似:
public class SortFilterTableHeaderUI extends BasicTableHeaderUI {
private Component filteredComponent;
@Override
protected MouseInputListener createMouseInputListener() {
return new MouseInputHandler() {
@Override
public void mouseClicked(MouseEvent e) {
if (!filteredComponent.contains(e.getPoint()))
super.mouseClicked(e);
}
};
}
}
其他选项是覆盖JTAbleHeader.columnAtPoint(Point point)
并返回-1如果组合中包含的地步。
http://stackoverflow.com/questions/3312953/how-can-you-disable-all-sorting-code-in-jtable-in-1-6给出了一些信息,但不完全是你想要的。 – 2013-04-30 16:08:17
我不确定你在说什么......以及我是那种。你能提供一些项目的代码吗? – 2013-04-30 16:18:09
代码是有点散开(应该清理,但这是另一个问题)。我想维护标题其余部分的排序功能,但忽略组合框的排序。不太确定如何覆盖JTable的排序。 – 2013-04-30 16:33:08