2017-07-11 137 views
1

我設計了一個包含一些標籤的tabbedpane,是否有任何方法爲標籤的標題設置字體? 我已閱讀this useful question但是通過這種方法,我們只能設置邊框的標題而不是標籤的標題。如何爲jtabbedpane中的標籤標題設置字體

一個簡單的代碼來解釋我的問題:

private JTabbedPane tabbedPane; 
private JPanel tab1; 
private Jpanel tab2; 
... 
tabbedPane.insert("title1", icon1, tab1, "tip1", 0); 
tabbedPane.insert("title2", icon2, tab2, "tip2", 1); 

我怎樣才能改變「TITLE1」或「標題2」的字體?


編輯:

根據親愛Jay Smith的答案,我意識到,這種做法是更強大的,但是我有一些其他的問題,看到這樣的畫面,請:

enter image description here

我爲每個選項卡創建一個JPanel(即稱爲myPanel),其中包含兩個JLabel,一個用於TabIcon,另一個用於TabTitle。最後,我所著的:

tabbedPane.setTabComponentAt(0, myPanel); 

現在,是什麼問題:

  1. 首先,請注意,我用波斯語這是一個 從右到左,所以我想拉圖標放在最左邊的位置,並將標籤標題移到最右邊的位置。
  2. 二,根據第一個標籤的邊框,我要把那個面板填充到tabHeader的整個空間 。
+1

'UIManager.getDefaults()的getFont( 「TabbedPane.font」)'是一個蠻力方法,如果需要更多的定製/控制,那麼你需要提供您自己的自定義標題組件 – MadProgrammer

回答

3

這太容易了,我的朋友。做下面的事情,你已經完成了。

JTabbedPane tabbedPane = new JTabbedPane(); 
tabbedPane.setFont(new Font("Dialog", Font.BOLD|Font.ITALIC, 24)); 
+0

謝謝,這是sooooo容易:))) –

+0

快樂編碼:) –

2

您可以設置任何搖擺Component作爲選項卡JTabbedPane

JLabel作爲標籤

例:

JLabel label = new JLabel("Tab 1"); 
label.setFont(new Font("Dialog", Font.BOLD | Font.ITALIC, 24)); 

JTabbedPane tabbedPane = new JTabbedPane(); 
tabbedPane.setTabComponentAt(0, label); 
+0

你的方法是優雅和非常強大,但我有一些新的問題,對齊,方向和填充父組件。請參閱我編輯的問題。 –

+0

請修改問題的編輯部分。 –

+0

@Tot Zam請修改問題的編輯部分。 –

相關問題