Java 有没有办法强制jidetabbedpane始终显示第一个选项卡

Java 有没有办法强制jidetabbedpane始终显示第一个选项卡,java,swing,tabs,components,Java,Swing,Tabs,Components,我需要显示一个选项卡窗格,但第一个选项卡必须是静态的。所以我尝试使用jidetabbedpane,因为它关心效果,所有选项卡都列在一个框中,它是可导航的,它可以显示所需的关闭操作等等。但我唯一缺少的是选项:将第一个组件设置为静态或固定 有什么办法克服这个问题吗 提前感谢, 是的。扔掉需要有固定第一个选项卡的选项卡式窗格的设计:这只是滥用组件来完成它不想做的事情 您可以通过附加一个更改侦听器并让它否决或撤销更改来防止选项卡翻转;但我不打算详细说明这一点,因为基本前提是错误的。听起来要求某些母版页始

我需要显示一个选项卡窗格,但第一个选项卡必须是静态的。所以我尝试使用jidetabbedpane,因为它关心效果,所有选项卡都列在一个框中,它是可导航的,它可以显示所需的关闭操作等等。但我唯一缺少的是选项:将第一个组件设置为静态或固定

有什么办法克服这个问题吗

提前感谢,


是的。扔掉需要有固定第一个选项卡的选项卡式窗格的设计:这只是滥用组件来完成它不想做的事情


您可以通过附加一个更改侦听器并让它否决或撤销更改来防止选项卡翻转;但我不打算详细说明这一点,因为基本前提是错误的。

听起来要求某些母版页始终可以快速访问,尽管用户正忙于创建其他选项卡。我有一个建议:

这涉及嵌套的JTabbedPane。如您所知,您可以将选项卡放置在组件的所有4个侧面上。因此,我要做的是创建一个“主要”JTP,其中只有1或2个选项卡,第一个当然是您的“主要”选项卡。然后,该组件中的第二个页面可以是空的,也可以在用户创建第一个新的“辅助”页面时显示。第二页也应该是JTP,可能标签放在不同的方向;所有新创建的辅助页面都将包含在这个“内部”JTP中。用户可以在辅助页面中翻转、关闭它们,但主页的选项卡在内部JTP的边界之外总是可见的

然后,您可以处理细节,例如使主要JTP的选项卡不可关闭。由于该窗格只有2页,因此使其不可移动应该不是重点


或者,您可以将主要内容和次要内容分别放在
卡片版面的不同页面上,并提供一个(或两个)按钮以快速转到(或返回)。根据应用程序的布局,这可能需要更少的空间。您可以将一个
操作
连接到此按钮,该按钮由加速键触发。。。很快,很方便。这可能会安抚您的老板/客户。

DockingManager
有一个名为
setTabbedPaneCustomizer
的方法来帮助您自定义选项卡式窗格

dockingManager.setTabbedPaneCustomizer(新的DefaultDockingManager.TabbedPaneCustomizer()
{
@凌驾
公共空间自定义(JideTabbedPane或bbedpane)
{
//确定aTabbedPane是否是第一个窗格
//getTabCount()==1可能是解决方案?
如果(是第一个窗格(aTabbedPane))
{
aTabbedPane.设置ShowCloseButtonNonSelectedTab(假);
}
}
});


上面的代码块需要您注意找到一种正确的方法来确定打开的第一个窗格是否是第一个窗格。希望能有所帮助。

对于选项卡,您所说的“静态”或“固定”是什么意思?它的内容不应该改变?它不应该是可移动的?它不应该是可关闭的?它不应该是可关闭的、可移动的,如果有许多选项卡打开,它应该总是可见的。非常感谢您向我解释这个要求有多么错误。我已经觉得这个要求有些奇怪了。我们想要实现的是前面的某种仪表板,从这里开始,您可以在选项卡中打开任何类型的对象/页面。但是你必须尽快回到仪表板,并且它必须始终可见(这样用户就可以返回“主页”,而不必销毁旧的选项卡)。你会怎么解决这个问题?客户非常想要这个“固定”的第一个标签,我不想给他,因为我看到了,他对解决方案不满意。嗯,这听起来更合理了。您希望选项卡始终可见,而不一定是其关联页面的内容。您希望选项卡不按可用/可访问选项卡的顺序移动。我有一个新的建议,将满足这些要求,并合理美观。(在我发布完后,请参阅其他答案)