Jtable显示和隐藏列并保存配置。

时间:2017-09-19 07:27:33

标签: swing swingx jxtable

我使用的JXTable有一个setColumnControlVisible(true),它在滚动上方的右上角显示一个按钮,我们可以通过按下它来显示和隐藏列。我想记住应用程序关闭时的更改,但还无法弄明白,这是我到目前为止所尝试的内容。我检查了JxTable的src,但没有得到如何获取隐藏的列索引或列号。

opportunistic

1 个答案:

答案 0 :(得分:1)

  

但没有如何获取隐藏的列索引或列号。

将TableModel与JTableHeader进行比较。

只需创建一个简单的循环来检查TableModel的所有列名称,以查看该表是否包含该列。类似的东西:

for (int i = 0; i < model.getColumnCount(); i++)
{
    Object name = model.getColumnName();

    TableColumn column = table.getColumn( name );

    if (column == null)
        // column is hidden do your processing
}

然后,下次显示表格时,您可以获取所有隐藏列的名称,然后使用:

table.removeColumn( table.getColumn( name ) );