简体   繁体   中英

Moving JButton text over its icon by pixels

I am creating a desktop application in Java with lots of customized UI. It also has a breadcrumb. I've extended JButton class to customize it for my Breadcrumb buttons.

This is the screenshot of expected breadcrumb.

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

在此输入图像描述

The background of this breadcrumb is an ImageIcon. But now, I am not able to perfectly align the JButton text over this background icon.

This is the screenshot of actual breadcrumb.

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

在此输入图像描述

I've used following code to align the text.

setHorizontalTextPosition(CENTER);
setVerticalTextPosition(CENTER);

So, is their a way that I can move this text in pixels to its right position?

And also, I want root breadcrumb button "Schemes" to overlap some part of its preceding breadcrumb button "2000 Avenues" as shown in expected breadcrumb screenshot! How can I achieve that?

Check out the Overlap Layout for one solution.

So, is their a way that I can move this text in pixels to its right position?

I don't understand this question. Why are you setting the alignment to center if you want it aligned to the left.

Edit:

I see. You are just using an Icon for the button outline and are then painting the text on top of the Icon. I thought your were using a custom shaped button with text). You can just use the default vertical/horizontal text position settings.

To shift the text to the left you can use:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM