当在我的应用程序中使用JMenuBar时,元素(如文件,编辑等)太靠近了,如果元素之间有一些空间,看起来会更好。这可能吗?在JMenuBar中添加元素之间的间距
6
A
回答
6
是的,就在它空的文本添加菜单栏项目,并使其不可点击/可选择
+2
谢谢你,这工作得很好PS。 .setClickable()和.setSelectable()不存在,而是对遇到同样问题的人使用.setEnabled() – Andrei0427
5
对于横向使用,你可以采取使用|
。
menu.add(new JMenu("File"));
menu.add(new JMenu("|"));
menu.add(new JMenu("Edit"));
对于垂直使用您可以简单地使用JSeparator
或addSeparator()
:
menu.add(new JMenuItem("Close"));
menu.add(new JSeparator()); // explicit
menu.addSeparator(); // or implicit
menu.add(new JMenuItem("Exit"));
7
添加JComponents
要求不focusable
,您可以创建一个空间
JMenuBar
JLabel
(必须为所需PreferredSize
设置)JSeparator
(微小按蚊大小是10pixels,必须setOpaque
为JSeparator
)
(无需额外的设置)JMenuItem
JSeparator
JLabel
(必须为需要PreferredSize
设置)
2
这是老了,但我一直在寻找任何解决同样的问题 我出来这个:
你应该为你的JMenuItem设置边距,就像t他的:
JMenuItem menu = new JMenuItem("My Menu");
menu.setMargin(new Insets(10, 10, 10, 10));
1
在javax.swing.Box上有一个名为createHorizontalStrut(int width)的静态方法来创建不可见的固定宽度组件。
的代码会是这个样子:
JMenuBar menuBar = new JMenuBar();
menuBar.add(new JMenu("File"));
menuBar.add(Box.createHorizontalStrut(10)); //this will add a 10 pixel space
menuBar.add(new JMenu("Edit"));
0
其他的答案很好地工作,但可以有意想不到的间距由于填充和利润。如果您希望您的间隔体的尺寸进行更多的控制:
JMenu spacer = new JMenu();
//disable the spacer so that it doesn't behave
//like a menu item
spacer.setEnabled(false);
//Java components are weird. Set all three to
//guarantee that size is used
spacer.setMinimumSize(new Dimension(width, 1));
spacer.setPreferredSize(new Dimension(width, 1));
spacer.setMaximumSize(new Dimension(width, 1));
//add the spacer to your JMenuBar
jMenuBar.add(spacer);
相关问题
- 1. 如何在两个跨度元素之间添加间距
- 2. 柔性元素之间的间距?
- 3. 删除TD元素之间的间距
- 4. 元素之间适当的间距
- 5. 在html div内添加更多元素之间的距离
- 6. Bootstrap:在列之间添加间距
- 7. 如何在listview.items之间添加间距?
- 8. 在堆栈元素代码之后添加间距
- 9. 无法在表单元素之间添加页边距
- 10. XML:元素之间的水平间距和行间距
- 11. 如何在包围div标签的span元素之间添加间距?
- 12. 为什么添加元素删除元素之间的空间?
- 13. 在列表中的元素之间添加元素
- 14. 在列表中的元素之间添加元素N次
- 15. 在元素之间添加边距会导致元素开始一个新行
- 16. 在两个元素之间添加listView
- 17. 在元素之间添加分隔符
- 18. 在基本表格视图单元格之间添加间距
- 19. 如何在HTML5时间输入元素周围添加间距?
- 20. 内嵌块元素之间的边距
- 21. 获取元素之间的距离
- 22. 行元素之间的等边距
- 23. 等于元素之间的边距
- 24. 如何在Sublime3的PlainTask中添加任务之间的间距?
- 25. CollectionView中单元格之间的间距
- 26. GMail,MailChimp在表格中添加图像之间的间距
- 27. 在kivy中添加下拉项之间的间距
- 28. 在Bootstrap 4中添加垂直堆栈列之间的间距
- 29. 在div之间添加边距
- 30. 减少前景中tr元素之间的间距
如果您使用的是NetBeans尝试右键单击组件,并单击周围组件,如果你需要空间 –
空间,然后尝试menubar.add(新JPanel( ));它为我工作。 –