java - 使用 SwingX 对 JXTable 进行排序

标签 java swingx jxtable

我正在使用来自 SwingX 组件的 JXTable。如果我使用 setSortable(boolean flag) 方法,那么它将启用或禁用所有列的排序。

根据我的要求,我想禁用几列的排序并启用其他列的排序。

谁能帮助实现这个功能?


感谢您的回复。你能帮我使用 setSorterClass(String sorterClassName) 来禁用一列的排序吗?你能给我任何代码示例吗?这对我很有帮助。

最佳答案

SwingX 支持 TableColumnExt 级别的每列可排序属性。它的默认值为 true,在创建列后禁用它

table.getColumnExt(myColumnIndex).setSortable(false)

或者在创建时,使用自定义的 ColumnFactory,比如

ColumnFactory factory = new ColumnFactory() {

    @Override
    public void configureTableColumn(TableModel model, TableColumnExt column) {
        super.configureTableColumn(model, column);
        if (... your condition to disable sortable) {
            column.setSortable(false);
        } 
    }
} 
table.setColumnFactory(factory);
table.setModel(model);

JXTable 将负责将列属性同步到排序器,前提是它是 SortController 类型(默认)

关于java - 使用 SwingX 对 JXTable 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6080826/

相关文章:

java - 如何在单元格编辑开始时关闭表格中的所有工具提示?

Java SWT : Clear all items in a table before writing

java - 如何禁用 JXTable 默认搜索操作?

java - 我如何像在MySQL中那样在Spring Boot JPA中建立一对多关系?

java - ListView 中的 getItemIdAtPosition() 未显示

java - 在 Netbeans 中安装 SwingX

java - 实现自定义组合框模型未能覆盖某些方法

java - SwingX - 个性化 JXDatePicker

java - 结合 JXTable 和 RXTable

java - 在 JXTable 单元格中设置日期格式