Elementos como Archivo, Edición, etc. están demasiado juntos al usar el JMenuBar en mi aplicación, se vería mucho mejor si hubiera espacio entre los elementos. es posible?Agregando espaciado entre elementos en JMenuBar
Respuesta
Sí, sólo añadir el artículo BarraDeMenús con texto vacío en ella y hacer que no se puede hacer clic/seleccionable
Gracias, esto funcionó muy bien PS. .setClickable() y .setSelectable() no existen, en su lugar use .setEnabled() para las personas que enfrentan el mismo problema – Andrei0427
Para un uso horizontal que podía dar un uso |
.
menu.add(new JMenu("File"));
menu.add(new JMenu("|"));
menu.add(new JMenu("Edit"));
Para el uso vertical, es posible que sólo tiene que utilizar un JSeparator
oaddSeparator()
:
menu.add(new JMenuItem("Close"));
menu.add(new JSeparator()); // explicit
menu.addSeparator(); // or implicit
menu.add(new JMenuItem("Exit"));
necesario para agregar JComponents
que no son focusable
, se puede crear un espacio para
JMenuBar
JLabel
(que establecer para requeridoPreferredSize
)JSeparator
(tamaño minimus es 10pixels, tienen quesetOpaque
paraJSeparator
)
JMenuItem
JSeparator
(no hay necesidad de ajuste adicional)JLabel
(tienen que establecer para requeridoPreferredSize
)
Es viejo, pero yo estaba buscando alguna solución para el mismo problema Y salí a esto:
Debe establecer los márgenes a su JMenuItem, como t su:
JMenuItem menu = new JMenuItem("My Menu");
menu.setMargin(new Insets(10, 10, 10, 10));
Hay un método estático en javax.swing.Box llamado createHorizontalStrut (int anchura) para crear un componente de ancho fijo invisible.
El código sería algo como esto:
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"));
Las otras respuestas funcionar bien, pero puede tener un espaciado entre inesperada debido al relleno y márgenes. Si desea tener más control sobre el tamaño de su espaciador:
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. WPF: espaciado entre elementos en el panel de distribución
- 2. Espaciado entre paréntesis en Ruby
- 3. Espaciado de elementos en una matriz circular
- 4. Espaciado entre oraciones
- 5. php imagettftext espaciado entre letras
- 6. Espaciado entre controles secundarios en cuadrícula WPF
- 7. Establecer espaciado entre líneas en QTextEdit
- 8. Manipulación del espaciado entre líneas en LaTeX
- 9. jQuery - agregando elementos en una matriz
- 10. Gvim: Ubuntu espaciado entre letras (fuente Consolas)
- 11. Cómo establecer el espaciado entre líneas Graphics.DrawString
- 12. ¿Cómo espaciado los elementos secundarios de un StackPanel?
- 13. Texto CSS justificar con espaciado entre letras
- 14. Cambiar un borde JMenuBar
- 15. ¿Cómo agregar los atajos de JMenuBar?
- 16. Cómo agregar espaciado vertical entre los elementos del bloque, pero no arriba ni abajo
- 17. Aumente el espaciado de cuadrícula en android
- 18. estableciendo el espaciado entre gráficos de barras agrupadas en matplotlib
- 19. Espaciado entre celdas en UITableView con UITableViewCell personalizado
- 20. IPhone: ¿Cambiar el espaciado entre líneas en UITextView?
- 21. Espaciado entre caracteres en LaTeX con el paquete lstlisting
- 22. Disminuya el espaciado entre líneas en un TextBlock/FlowDocument
- 23. Agregando elementos dinámicamente a un JComboBox
- 24. DataGridViewComboBoxColumn agregando diferentes elementos a cada fila.
- 25. App Engine agregando elementos a ListProperty
- 26. agregando gran cantidad de elementos a DOM
- 27. jQuery Datatables agregando elementos de formulario personalizados
- 28. agregar JMenuBar a un JPanel?
- 29. Espaciado en correos electrónicos HTML
- 30. Espaciado vertical iTextSharp
si está utilizando NetBeans intente hacer clic derecho sobre el componente y haga clic en el espacio en torno componente –
si necesita espacio a continuación, intente menubar.add (new JPanel ()); funcionó para mí. –