如何获取jTabbedPane中标签页头的坐标?

时间:2011-12-28 11:00:36

标签: java swing user-interface jtabbedpane

我有一种方法可以在玻璃窗格上绘制动画图像,以模拟图标的脉冲。它需要一个图像(我使用组件的图标)和边界(按钮f.e.)。 我需要这个区域:

enter image description here

我知道该按钮有getBounds(),标签是否有相似之处?或者可能是图标的坐标。要么会很好。

4 个答案:

答案 0 :(得分:5)

我有类似的问题。我需要标签的高度。 int tabHeight = myTabPanel.getUI().getTabBounds(myTabPanel, 0).height;

答案 1 :(得分:3)

您必须创建自己的BasicTabbedPaneUI,因为这些方法受到保护,无法从外部覆盖这些方法(来自Standard Java API

答案 2 :(得分:3)

@mKorbel关于UI委托是正确的,但努力是艰巨的。或者,您可以使用动态图标(显示为here)或自定义标签组件,引用here

答案 3 :(得分:1)

  

我知道按钮有getBounds(),标签是否有相似之处?

请参阅getTabBounds()的{​​{1}}方法。您不需要自定义类只是为了获取此数据。如果您打算在UI中执行动画,则只需自定义UI。

问题是选项卡的大小只是文本的大小。因此,除非您向选项卡添加空图标,否则您的图标将没有空白空间。如果你打算这样做,你可以使用Animatied Icon类,它允许你组合图标来执行动画。