當在我的應用程序中使用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( ));它爲我工作。 –