【问题标题】:JTable split header Disable SortingJTable 拆分表头禁用排序
【发布时间】:2013-04-30 16:03:01
【问题描述】:

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

有人建议我使用 JXTable,但我担心它会导致比它修复的问题更多的问题。

感谢任何帮助。

【问题讨论】:

  • stackoverflow.com/questions/3312953/… 提供了一些信息,但并不完全是您想要的。
  • 我不确定你在说什么......好吧,我有点。你能提供一些项目的代码吗?
  • 代码有点分散(应该清理,但这是另一个问题)。我想在标题的其余部分保留排序功能,但忽略组合框的排序。不太确定如何覆盖 JTable 的排序。

标签: java sorting header jtable jxtable


【解决方案1】:

尝试类似:

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。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多