簡體   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