JTable到JScrollPane,没有Header

时间:2014-08-01 06:38:34

标签: java swing jtable jtableheader

为什么在JTable添加JScrollPane时会自动出现tableHeader。我想将表添加到没有标题的scrollPane中。怎么做? PLS

2 个答案:

答案 0 :(得分:4)

简短的回答是,你不能(自动做)。

在将JScrollPane#setColumnHeaderView设置为视口后,您可以拨打null并将其传递给JTable ...

调用表JScrollPane方法时,列标题由JTable应用于addNotify。这是为了响应包含该表的容器而被调用,该容器被添加到可显示的容器(如可见框架)中。

然后调用configureEnclosingScrollPane

<强>更新

上面的代码假定JScrollPaneJTable已经添加到已经可以显示的容器中,但情况可能并非总是如此。或者,您可以覆盖JTable#configureEnclosingScrollPane方法并在需要时配置标题...

@Override
protected void configureEnclosingScrollPane() {
    if (showHeaders) {
        super.configureEnclosingScrollPane();
    }
}

就个人而言,我会创建自己的自定义JTable,其showColumnHeaders属性,可用于根据我的需要打开和关闭标题...

答案 1 :(得分:3)

尝试下一个代码:

    JTable t = new JTable(3,3);
    JScrollPane jScrollPane = new JScrollPane(t);
    t.setTableHeader(null);
    jScrollPane.setColumnHeaderView(null);

或只是将tableHeader设置为null适用于我t.setTableHeader(null);