2010-09-07 47 views
2

使用JTabbedPane時,如何縮進標籤?JTabbedPane縮進

搖擺默認輸出:

------- --------- ------ 
| A | | B | | C | 
------------------------------ 
|       | 
|       | 
|       | 
|       | 
|       | 

期望縮進輸出:

------- --------- ------ 
    | A | | B | | C | 
------------------------------ 
|       | 
|       | 
|       | 
|       | 
|       | 

這看起來很簡單,但我一直沒能找到解決方案。 謝謝。

+0

您的意思是說,您有兩個選項卡式窗格,並且希望第二個選項卡式窗格中的第一個選項卡被「縮進」爲w.r.t.第一個選項卡窗格的第一個選項卡? – 2010-09-07 19:26:20

+0

只有一個tabbedpane。我編輯了我的問題以添加說明。 – 2010-09-07 19:48:55

回答

1

對於所有的標籤式窗格,您可以使用具有默認LAF如下:

UIManager.put("TabbedPane.tabAreaInsets", new Insets(2, 20, 0, 6)); 

參見:UIManager Defaults

對於你可能需要重寫個人標籤式窗格「getTabAreaInsets()」方法BasicTabbedPaneUI類返回上面的Inset。

+0

謝謝,效果很好 – 2010-09-07 21:02:29

0

如果沒有辦法用一個簡單的JTabbedPane中做到這一點,你可以使用下面的(略不雅)解決方案:

創建自己的組件,包括一個JTabbedPane中和JPanel的。 JTabbedPane僅顯示的選項卡;就其而言,每個標籤都是空的。 JPanel(使用CardLayout)負責實際顯示每個選項卡。將一個ChangeListener添加到JTabbedPane中,並使用它在CardLayout的卡之間切換。

然後,您只需將JTabbedPane和JPanel佈置在您自己的組件中,無論您喜歡如何,您都可以做到這一點。這可以讓你將標籤推到右側。