Swing 如何从JTabbedPane获取选项卡组件

Swing 如何从JTabbedPane获取选项卡组件,swing,Swing,我想知道是否可以从JTabbedPane检索包含选项卡的组件,这样我就可以将其放置在BorderLayout north位置,并且选项卡窗格将位于BorderLayout center位置?我认为这样做没有任何意义-默认情况下,选项卡位于north位置 而且-不,您无论如何不能这样做-您不能将选项卡从选项卡内容区域中分离出来,因为它是由TabbedPaneUI组合的单个组件。您可以使用setTabPlacement方法指定选项卡相对于内容的位置。例如,可以将其更改为“东放置”: JTabbedP

我想知道是否可以从JTabbedPane检索包含选项卡的组件,这样我就可以将其放置在BorderLayout north位置,并且选项卡窗格将位于BorderLayout center位置?

我认为这样做没有任何意义-默认情况下,选项卡位于north位置

而且-不,您无论如何不能这样做-您不能将选项卡从选项卡内容区域中分离出来,因为它是由TabbedPaneUI组合的单个组件。您可以使用
setTabPlacement
方法指定选项卡相对于内容的位置。例如,可以将其更改为“东放置”:

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

这对我来说是很重要的一点。如果需要,将它们分开会很方便。例如,在北方位置,我可以有一个JPanel,首先包含一组按钮,然后是选项卡,在中间位置包含选项卡内容区域。据我所知,我不能用JTabbedPane做这件事。@jerome是的,你不能用标准的JTabbedPane做这件事。正如我在回答中所说的,没有办法将JTabbedPane选项卡与内容分开。这有很多原因,但我怀疑它们对您来说是否有趣,因为它们都源于Java为各种系统提供的UI和L&Fs。有一种方法可以做到这一点,但它似乎太复杂了。这将是一个具有边框布局的组件。该组件将包含一个我可以在其中绘制选项卡的组件,以及另一个带有选项卡内容区域CardLayout的JPanel,并使用MVC显示所选选项卡的正确内容。但这意味着我必须实现标准JTabbedPane提供的大部分功能。没有其他(更简单的)解决方案?@jerome这样会自动排除JTabbedPane的使用。好吧,这是唯一正确的做法做一些“习惯”。当然,您可以创建自己的TabbedPaneUI,它将允许您在选项卡式窗格部件中放置自定义内容,但这比创建提供相同功能的全新组件要困难得多。我不知道有什么组件允许这种行为。也许您可以查看Jide组件演示,并在其自定义选项卡窗格中找到一些有用的东西-。