Elementi come File, Modifica ecc. Sono troppo vicini tra loro quando si utilizza JMenuBar nella mia applicazione, sarebbe molto più bello se ci fosse dello spazio tra gli elementi. È possibile?Aggiunta di spaziatura tra elementi in JMenuBar
risposta
Sì, basta aggiungere oggetto MenuBar con testo vuoto in esso e lo rendono non cliccabile/selezionabile
Grazie, questo ha funzionato senza sosta PS. .setClickable() e .setSelectable() non esistono, invece usa .setEnabled() per le persone che incontrano lo stesso problema – Andrei0427
Per un impiego orizzontale si poteva prendere un uso |
.
menu.add(new JMenu("File"));
menu.add(new JMenu("|"));
menu.add(new JMenu("Edit"));
Per l'utilizzo in verticale si potrebbe usare semplicemente un JSeparator
oaddSeparator()
:
menu.add(new JMenuItem("Close"));
menu.add(new JSeparator()); // explicit
menu.addSeparator(); // or implicit
menu.add(new JMenuItem("Exit"));
necessario aggiungere JComponents
che non sono focusable
, è possibile creare uno spazio per
JMenuBar
JLabel
(necessario impostare per richiestoPreferredSize
)JSeparator
(dimensione minimus è 10pixels, devonosetOpaque
perJSeparator
)
JMenuItem
JSeparator
(senza ulteriori impostazioni necessarie)JLabel
(devono impostare per richiestePreferredSize
)
E 'vecchio, ma mi era alla ricerca di una soluzione per lo stesso problema E sono venuto a questo:
È necessario impostare i margini sul proprio JMenuItem, come t la sua:
JMenuItem menu = new JMenuItem("My Menu");
menu.setMargin(new Insets(10, 10, 10, 10));
C'è un metodo statico su javax.swing.Box chiamato createHorizontalStrut (int width) per creare un componente a larghezza fissa invisibile.
Il codice dovrebbe essere simile a questa:
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"));
Le altre risposte funzionare bene, ma possono avere una spaziatura fra inaspettato a causa di imbottitura e margini. Se si vuole avere un maggiore controllo delle dimensioni del vostro spacer:
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. Aggiunta di una spaziatura tra le immagini in un UIScrollView
- 2. WPF: spaziatura tra gli elementi nello stackpanel
- 3. Elementi di spaziatura in un array circolare
- 4. Rimuovi spaziatura tra gli elementi in RecyclerView android
- 5. Spaziatura tra parentesi in Ruby
- 6. Elementi di comportamento di spaziatura multilinea
- 7. Modifica spaziatura tra UIBarButtonItems in iOS 8
- 8. Aggiunta di spaziatura programmatica al lato di grafici in Matplotlib
- 9. Rimuovi spaziatura tra li
- 10. elementi Aggiunta di opporsi
- 11. Spaziatura tra l'icona di overflow e gli elementi di azione in ActionBarSherlock
- 12. Come aggiungere le scorciatoie di JMenuBar?
- 13. Modifica di un bordo JMenuBar
- 14. CSS3 spaziatura Flexbox tra gli articoli
- 15. Dare spaziatura verticale degli elementi incartati
- 16. Aggiunta di elementi a Listview in jqueryMobile
- 17. Aggiunta dinamica di elementi comprimibili
- 18. aggiunta di elementi secondari XML
- 19. C'è un modo per cambiare la spaziatura tra gli elementi della legenda in ggplot2?
- 20. Come specificare la spaziatura tra gli elementi di LinearLayout solo una volta?
- 21. Come aggiungere spaziatura verticale tra elementi di blocco, ma non superiore e inferiore
- 22. Come modificare la spaziatura tra lettere di UIButton in Swift?
- 23. spaziatura rightBarButtonItems in UINavigationBar
- 24. Spaziatura tra alcune sottotrame ma non tutte
- 25. Come aggiungere spaziatura tra UITableViewCells - Swift
- 26. In looping in un elenco nel rasoio e aggiunta di un separatore tra gli elementi
- 27. Aggiunta di spazio tra i numeri?
- 28. CATextLayer e tracciamento/spaziatura tra caratteri
- 29. Spaziatura tra il glyphicon e il testo?
- 30. Spaziatura controllo tabulazione WPF tra le intestazioni
se si sta utilizzando NetBeans provare a fare clic destro sul componente e fare clic su spazio intorno componente –
se avete bisogno di spazio quindi provare menubar.add (nuove JPanel ()); ha funzionato per me –