我想创建一个表,例如,它有3个列标题但只显示两列并隐藏第3列。
最后一列是固定的,用于隐藏/显示大多数应用程序所做的列,方法是单击它并显示一个弹出菜单。
干杯
可能我没有清楚地描述。我知道removeColumn / addColumn。通过单击表头,我可以添加列或删除它们。然而,我很好奇的是在表头最右边的一个专用列标题,它是固定的,小宽度和带有描述性的表格式图标。因此,通过鼠标左键单击此列标题,弹出菜单会显示隐藏/显示列。此列标题实际上没有列或行,但标题与JDownloader一样。答案 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);