JTable拆分头禁用排序

时间:2013-04-30 16:03:02

标签: java sorting header jtable jxtable

目前,每个标题都包含列的名称,偶尔也会包含一个组合框。只要单击组合框,jtable就会自动排序。是否有一种简单的方法可以仅对组合框单击进行排序,同时保留标题的其余部分以便在单击时进行排序。

我被建议使用JXTable,但我担心它会导致更多问题而不是解决问题。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

尝试类似:

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。