This week's book giveaway is in the Kotlin forum.
We're giving away four copies of Kotlin in Action and have Dmitry Jemerov & Svetlana Isakova on-line!
See this thread for details.
Win a copy of Kotlin in Action this week in the Kotlin forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Justifying other components in a JMenuBar  RSS feed

 
David Irwin
Ranch Hand
Posts: 82
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
Nathan Pruett
Bartender
Posts: 4121
IntelliJ IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
David Irwin
Ranch Hand
Posts: 82
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Nathan,

Thanks for your response. That worked great!

Dave
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!