java如何扩展JTabbedPane以始终具有“添加选项卡”选项卡?
我试图创建一个JTabbedPane,这样最终的“tab”实际上是一个按钮,它将打开一个对话框,向选项卡式窗格添加内容。我试着查找JTabbedPane的源代码,但找不到选项卡对象(单击时更改当前可见组件的可单击“按钮”行)的实际位置。页面对象有一个私有列表(因此子类无论如何都无法访问它们),但它们只包含关于选项卡的信息,而不是选项卡对象本身。我的目标是能够在选项卡列表之后添加一个按钮(水平)
我还尝试使用JTabbedPane。setTabComponentAt()将最后一个选项卡的字符串更改为组件为null的JButton,但这仍然会添加选项卡组件。如果轻轻单击选项卡中按钮的右/左,将显示一个空白选项卡,因为组件周围总是有填充。也许有办法摆脱这个?但我想在某些外观和感觉中,有如下选项卡:/--\而不是此:|--|您仍然可以单击选项卡,但不能单击按钮
有人知道我如何在不编写自己版本的JTabbedPane的情况下获得我想要的东西吗
谢谢
# 1 楼答案
正确的解决方案是编写自定义UI,但这可能会很复杂,我不确定要更改什么代码
作为一个简单的技巧,您可以使用带有OverlyLayout的面板在选项卡式窗格的顶部/右侧显示按钮:
除非选项卡窗格的宽度变得太小,并且按钮与选项卡重叠,否则效果非常好