将JButton文本移动到其图标上的像素

时间:2013-10-10 15:00:54

标签: java swing user-interface jbutton

我正在用Java创建一个带有大量自定义UI的桌面应用程序。 它也有面包屑。 我已经扩展了JButton类来为我的Breadcrumb按钮定制它。

这是预期面包屑的屏幕截图。

http://puu.sh/4MtvZ.jpg

enter image description here

这个面包屑的背景是ImageIcon。 但是现在,我无法在这个背景图标上完美地对齐JButton文本。

这是实际面包屑的屏幕截图。

http://puu.sh/4MtDc.png

enter image description here

我使用以下代码来对齐文本。

setHorizontalTextPosition(CENTER);
setVerticalTextPosition(CENTER);

那么,他们是否可以将此文本以像素移动到正确的位置?

而且,我希望root breadcrumb按钮“Schemes”重叠其前面的痕迹导航按钮“2000 Avenues”的某些部分,如预期的breadcrumb屏幕截图所示! 我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:4)

查看Overlap Layout获取一个解决方案。

  

那么,他们是否可以将此文本以像素移动到正确的位置?

我不明白这个问题。如果要将对齐方式设置为左侧,为什么要将对齐设置为居中。

编辑:

我明白了。您只是使用按钮轮廓的图标,然后在图标顶部绘制文本。我以为你正在使用带文字的自定义形状按钮)。您可以使用默认的垂直/水平文本位置设置。

要将文字向左移动,您可以使用:

button.setIconTextGap(10 - button.getIcon().getIconWidth());