Các yếu tố như Tệp, Chỉnh sửa, v.v. quá gần nhau khi sử dụng JMenuBar trong ứng dụng của tôi, trông sẽ đẹp hơn nếu có khoảng cách giữa các phần tử. Điều này có thể không?Thêm khoảng cách giữa các phần tử trong JMenuBar
Trả lời
Vâng, chỉ cần thêm thanh menu item với văn bản trống trong đó và làm cho nó không thể nhấp/chọn
Cảm ơn bạn, điều này đã hoạt động hiệu quả hơn PS. .setClickable() và .setSelectable() không tồn tại, thay vào đó hãy sử dụng .setEnabled() cho những người gặp phải vấn đề tương tự – Andrei0427
Đối với việc sử dụng ngang bạn có thể mất một sử dụng |
.
menu.add(new JMenu("File"));
menu.add(new JMenu("|"));
menu.add(new JMenu("Edit"));
Đối với việc sử dụng dọc bạn có thể chỉ cần sử dụng một JSeparator
hoặcaddSeparator()
:
menu.add(new JMenuItem("Close"));
menu.add(new JSeparator()); // explicit
menu.addSeparator(); // or implicit
menu.add(new JMenuItem("Exit"));
cần thiết để thêm JComponents
mà không phải là focusable
, bạn có thể tạo một không gian cho
JMenuBar
JLabel
(phải thiết cho yêu cầuPreferredSize
)JSeparator
(kích thước minimus là 10pixels, phảisetOpaque
choJSeparator
)
JMenuItem
JSeparator
(không có cài đặt bổ sung cần thiết)JLabel
(phải thiết cho yêu cầuPreferredSize
)
Đó là cũ, nhưng tôi đang tìm kiếm giải pháp nào cho vấn đề tương tự Và tôi đã phát hiện ra điều này:
Bạn nên đặt lề cho máy của bạn JMenuItem, như t của mình:
JMenuItem menu = new JMenuItem("My Menu");
menu.setMargin(new Insets(10, 10, 10, 10));
Có một phương pháp tĩnh trên javax.swing.Box được gọi là createHorizontalStrut (chiều rộng int) để tạo thành phần có chiều rộng cố định vô hình.
Mã này sẽ giống như thế này:
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"));
Những câu trả lời khác làm việc tốt, nhưng có thể có khoảng cách bất ngờ do đệm và lợi nhuận. Nếu bạn muốn có thêm quyền kiểm soát kích thước của spacer của bạn:
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. Khoảng cách giữa các phần tử của chỉ báo
- 2. Cách chọn các phần tử giữa khoảng thời gian
- 3. WPF: Khoảng trắng giữa các phần tử trong ngăn xếp
- 4. thêm khoảng cách giữa JFrame và JPanel
- 5. thêm JMenuBar vào JPanel?
- 6. Cách thêm khoảng cách dọc giữa các phần tử khối, nhưng không phải trên cùng và dưới cùng
- 7. Chọn khoảng cách ngắn nhất giữa các cặp thành phần
- 8. Thêm khoảng cách giữa các nút trong VBox
- 9. Thêm khoảng cách giữa các cột trong TableLayout
- 10. Điền vào các khoảng trống trong phần tử danh sách
- 11. Làm thế nào để loại bỏ khoảng cách biên giữa các phần tử TBODY?
- 12. ExpandableListView - Cách đặt chỉ chia giữa các phần tử cha
- 13. Phần tử căn giữa bên trong một phần tử (jQuery)
- 14. khoảng cách giữa các khoảng trống imagettftext
- 15. Làm cách nào để div trung gian lấp đầy khoảng trống giữa các phần tử nổi?
- 16. Làm cách nào để căn giữa các phần tử trong BoxLayout bằng cách sử dụng trung tâm của phần tử?
- 17. thêm các phần tử XML
- 18. Thêm phần tử trong giữa xml sử dụng XSLT
- 19. Làm thế nào để thêm các phím tắt JMenuBar?
- 20. đếm số phần tử giữa phần tử "này" và "đó"
- 21. Liệu nó có quan trọng không, Khoảng trắng giữa các phần tử HTML?
- 22. Khoảng cách giữa các mục trong Listview
- 23. Khoảng cách giữa các cột
- 24. Tìm khoảng cách giữa phần tử HTML và trình duyệt (hoặc cửa sổ)
- 25. Thêm các phần tử của một mảng
- 26. Trong jQuery, làm cách nào để chọn các phần tử giữa các phần tử với các lớp nhất định?
- 27. CSS: cách thêm khoảng trắng trước nội dung của phần tử?
- 28. Thêm các phần tử bên trong một phần tử DOM khác trong MooTools
- 29. Khủng bố lề CSS; Ký quỹ thêm khoảng cách bên ngoài phần tử cha
- 30. Vẫn còn khoảng trống giữa các phần tử (nút) với "lề: 0"?
nếu bạn đang sử dụng NetBeans thử nhấp chuột phải vào thành phần và nhấn không gian xung quanh thành phần –
nếu bạn cần không gian sau đó thử menubar.add (JPanel mới ()); nó làm việc cho tôi. –