jtable标头隐藏/没有列

时间:2012-06-04 16:20:40

标签: java swing header jtable

我想创建一个表,例如,它有3个列标题但只显示两列并隐藏第3列。

最后一列是固定的,用于隐藏/显示大多数应用程序所做的列,方法是单击它并显示一个弹出菜单。

干杯

可能我没有清楚地描述。我知道removeColumn / addColumn。通过单击表头,我可以添加列或删除它们。然而,我很好奇的是在表头最右边的一个专用列标题,它是固定的,小宽度和带有描述性的表格式图标。因此,通过鼠标左键单击此列标题,弹出菜单会显示隐藏/显示列。此列标题实际上没有列或行,但标题与JDownloader一样。

3 个答案:

答案 0 :(得分:4)

你看,JTable methods

这两种方法仅隐藏/显示JTables Column(s),数据仍可在TableModel

中使用

答案 1 :(得分:3)

JXTable的{​​{1}}内置了用于在弹出窗口中显示/隐藏列的UI(遗憾的是我无法找到它的图像)。

你当然可以使用建议的方法自己创建它,但为什么要重新发明轮子

答案 2 :(得分:2)

有两种方法可以实现这一目标:

正确方法:

从表中删除列

TableColumn lastColumn = table.getColumnModel().getColumn(lastIndex);
table.removeColumn(lastColumn);

不要这样做:

将最后一列的宽度设置为0:

table.getColumnModel().getColumn(lastIndex).setPrefferedWidth(0);
table.getColumnModel().getColumn(lastIndex).setMaximumWidth(0);
table.getColumnModel().getColumn(lastIndex).setMinimumWidth(0);