Forums Register Login

Justifying other components in a JMenuBar

+Pie Number of slices to send: Send
I'm trying to add a component other than a JMenu to a JMenuBar. In particular, I'm adding a label that displays the current date and time. I can add the label fine but it gets added and is located right next to the last JMenu that I added. I'd really like it to be right-justified (while all the JMenus are left-justified). I thought maybe by adding the label via a

call would work but this didn't do anything. Is there any way to force the justification of a component in a JMenuBar?

Thanks,
Dave
+Pie Number of slices to send: Send
This doesn't do anything because the JMenuBar doesn't use a BorderLayout.

(And, if you think about it, BorderLayout wouldn't work for a JMenuBar anyway...)

You *can* set a different layout manager for your JMenuBar - but this is probably overkill for what you're trying to do.

All you need to do is add a Box.createHorizontalGlue() to the JMenuBar right before you add the component that you want to appear on the right hand side. The "Glue" will take up the additional space in the menu bar and push the next component to the right side.
+Pie Number of slices to send: Send
Nathan,

Thanks for your response. That worked great!

Dave
I am going down to the lab. Do NOT let anyone in. Not even this tiny ad:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com


reply
reply
This thread has been viewed 1130 times.
Similar Threads
JMenuBar not using default alignment?
KeyListener in JMenu
container's containment
JMenuBar showing gradient background on Mac -- how to disable?
I can't side set JMenuBar (top-down)
More...

All times above are in ranch (not your local) time.
The current ranch time is
Apr 16, 2024 04:57:12.