小编典典

JTabbedPane:选项卡之前和之后的组件

java

这类似于问题如何在Java Swing中构建Google-
chrome标签和菜单栏界面?(我想实现相同的目的),但更重要的是:如何在JTabbedPane中的选项卡的前面和后面放置组件?

我已经自己想到了按钮的想法,但是我宁愿有一个JTabbedPane,因为它确实是它的意思,但是在侧面装饰有按钮或图标。

我已经看到,基里尔(Kirill)的laf-widget项目对多个LaF都执行了类似的操作(选项卡左侧的放大镜图标)。但是,我必须承认,我还不太了解他的工作方式-
而且似乎是一个有点复杂的过程,在此过程中,一个人“物理地”更改了相关的LaF(字节码对其进行了操作),注入了laf。 -widget到UI委托中-
而且我仍然不知道JTabbedPane或TabbedPaneUI是如何实际调制以注入该图标/按钮的。


阅读 219

收藏
2020-11-23

共1个答案

小编典典

我最后问了Substance LaF / laf-
widget的Kirill,他如何设法在装饰JTabbedPanes的laf-widget的选项卡前面放置一个按钮,这是他的回答:

它依靠BasicTabbedPaneUI.tabAreaInsets字段为按钮腾出空间,并依靠按钮组件的自定义setBounds将该自身放置在该区域中。

有关更多代码,请参见laf-widget项目中的TabOverviewButton和TabOverviewDialogWidget类。

通常,选项卡式窗格的UI委托是最缺乏吸引力的增强方法之一,因为它具有许多私有和受程序包保护的方法

谢谢,基里尔!

2020-11-23