2012-10-24 23 views

回答

0

我沒有看到這樣做的任何一點 - 默認情況下標籤在北方位置。

而且 - 不,你不能這樣做 - 你不能將選項卡與選項卡內容區域分開,因爲它是由TabbedPaneUI組合的單個組件。通過使用setTabPlacement方法,您可以指定相對於內容的標籤位置。例如,您可以將其更改爲EAST佈局:

JTabbedPane tabbedPane = new JTabbedPane(); 
tabbedPane.setTabPlacement (JTabbedPane.EAST); 
+0

這對我來說很重要。根據需要分開它們會很方便。例如,在北方位置,我可能會有一個JPanel,其中包含第一組按鈕,然後是選項卡,中間位置是選項卡內容區域。就我所知,我無法用JTabbedPane做到這一點。 – jerome

+0

@jerome是的,你不能用標準的JTabbedPane做到這一點。而且正如我在答案中所說 - 無法將JTabbedPane選項卡與內容分開。這有很多原因,但我懷疑它們對你來說很有趣,因爲它們都來自Java爲各種系統提供的UI和L&F。 –

+0

那麼有辦法做到這一點,但它似乎太複雜了。這將是一個具有BorderLayout的組件。該組件將包含一個可以繪製標籤的組件,另一個包含用於標籤內容區域的CardLayout的JPanel,並使用MVC爲選定的標籤顯示正確的內容。但這意味着我必須實現標準JTabbedPane提供的大部分功能。沒有其他(更簡單)的解決方案? – jerome