这与问题类似 如何在 Java Swing 中构建 Google-chrome 选项卡和菜单栏界面? (我想完成同样的任务),但更重要的是:如何将组件放置在 JTabbedPane 中选项卡的前面和后面?

我自己已经提出了按钮的想法,但我宁愿有一个 JTabbedPane,因为它确实如此,但侧面装饰有按钮或图标。

我见过 laf 小工具 Kirill 的项目为几个 LaF 做了类似的事情(选项卡左侧的放大镜图标)。然而,我必须承认,我还不够熟练,无法理解他是如何做到这一点的 - 而且这似乎是一个有点复杂的过程,其中一个人“物理地”改变有问题的 LaF(字节码操纵它),注入 laf - 将小部件内容放入 UI 委托中 - 我仍然不知道 JTabbedPane 或 TabbedPaneUI 实际上是如何调制以注入该图标/按钮的。

有帮助吗?

解决方案

我最后问物质的基里尔的LaF 他如何管理/ LAF的小部件把一个按钮在LAF-小部件,装饰JTabbedPanes翼片的前方,这是他的回答是:

  

它依赖于   BasicTabbedPaneUI.tabAreaInsets场   以腾出空间按钮,   按键的自定义的setBounds   部件将自己定位在该   区域。

     

有关更多的代码,见TabOverviewButton   和TabOverviewDialogWidget班   该LAF-Widget项目。

     

在一般情况下,选项卡式窗格UI   委托是的至少一个   因为它有吸引力的人,以增强   有很多私人和包   保护的方法

谢谢,基里尔!

其他提示

JIDE 具有选项卡式窗格作为它们的组分套件的一部分暴露该功能简单setBeforeComponent()和setAfterComponent()方法。

有是它在这里演示: http://www.jidesoft.com /products/1.4/jide_demo.jnlp

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top