在JMenuBar中添加元素之间的间距

And*_*427 6 java swing jmenubar

在我的应用程序中使用JMenuBar时,文件,编辑等元素太靠近了,如果元素之间有一些空间,它看起来会更好.这可能吗?

mKo*_*bel 7

要求添加JComponents不是focusable,您可以为其创建空间

  1. JMenuBar

    • JLabel(必须按要求设置PreferredSize)

    • JSeparator(最小尺寸是10pixels,必须setOpaque为JSeparator)

  2. JMenuItem

    • JSeparator (无需额外设置)

    • JLabel(必须按要求设置PreferredSize)


jde*_*lop 6

是的,只需添加带有空文本的MenuBar项目,使其无法点击/选择

  • 谢谢,这对PS来说非常有用..setClickable()和.setSelectable()不存在,而是对遇到相同问题的人使用.setEnabled() (2认同)

oop*_*ase 5

对于水平使用,您可以使用|.

menu.add(new JMenu("File"));
menu.add(new JMenu("|"));
menu.add(new JMenu("Edit"));
Run Code Online (Sandbox Code Playgroud)

对于垂直使用,您可以简单地使用JSeparator 或 addSeparator():

menu.add(new JMenuItem("Close"));
menu.add(new JSeparator());        // explicit
menu.addSeparator();               // or implicit
menu.add(new JMenuItem("Exit"));
Run Code Online (Sandbox Code Playgroud)

分隔器


Gab*_*ara 5

它很旧,但我一直在寻找同一问题的任何解决方案,我得出了这样的结论:

您应该为您的 JMenuItem 设置边距,如下所示:

JMenuItem menu = new JMenuItem("My Menu");
menu.setMargin(new Insets(10, 10, 10, 10));
Run Code Online (Sandbox Code Playgroud)