有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java jtable头隐藏/不带列

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

最后一列是固定的,通过单击它并显示弹出菜单,可以像大多数应用程序一样隐藏/显示列

干杯

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


共 (3) 个答案

  1. # 1 楼答案

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

    正确的方法:

    从表中删除该列

    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);
    
  2. # 2 楼答案

    SwingXJXTable有内置的UI,用于在弹出窗口中显示/隐藏列(不幸的是,我找不到它的图像)

    当然,你可以用建议的方法自己创造这个,但是为什么要重新发明轮子呢