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?
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.
Write once, run anywhere, because there's nowhere to hide! - /. A.C.