繁体   English   中英

JTable进入JScrollPane,不带标题

[英]JTable into JScrollPane, without Header

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

简短的答案是,您不能(自动执行)。

您可以做的是调用JScrollPane#setColumnHeaderView并将JTable设置为视口后将其传递为null

调用表的addNotify方法时, JTable将列标题应用于JScrollPane 响应于将包含表的容器添加到可显示容器(如可见框架)而调用此方法。

然后调用configureEnclosingScrollPane

更新

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

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

现在个人而言,我将创建自己的自定义JTable ,它具有showColumnHeaders属性,可用于根据需要切换标题的打开和关闭...

尝试下一个代码:

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

或者只是将tableHeader设置为null对我t.setTableHeader(null);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM