Não sei se tem um jeito mais fácil de alinhar os menus, mas uma alternativa seria mudar layout manager do JMenuBar.
andre_teprom
Eric,
Desculpa se a pergunta é básica, mas como eu poderia fazer isso ?
Pressupõe o uso do netbeans ?
( que por sinal, não o tenho instalado )
+++
Eric_Yuzo
Vou passar um exemplo com GridBagLayout, que está na API. Mas se estiver usando MigLayout no seu projeto, aconselho fazer com ele.
JMenuBar bar = new JMenuBar();
bar.setLayout(new GridBagLayout()); // Setei o layout como GridBag
GridBagConstraints esquerda = new GridBagConstraints(); // Constraint para menus a esquerda
esquerda.anchor = GridBagConstraints.WEST;
GridBagConstraints direita = new GridBagConstraints(); // Constraint para menu a direita e com espaçamento
direita.anchor = GridBagConstraints.EAST;
direita.weightx = 1.0;
bar.add(new JMenuItem("Primeiro"), esquerda); // Na hora de adicionar tem que passar uma constraint
bar.add(new JMenuItem("Segundo"), esquerda);
bar.add(new JMenuItem("Terceiro"), esquerda);
bar.add(new JMenuItem("Último"), direita);Não precisa usar exatamente o GridBag, pode ser qualquer layout que atenda sua necessidade. Pode haver uma forma de fazer isso sem mudar o layout, inclusive já cheguei até a pesquisar sobre, mas sinceramente eu desconheço.
andre_teprom:
Pressupõe o uso do netbeans ?
( que por sinal, não o tenho instalado )
Pressuponho apenas que usa swing, por causa do código postado. Acho que a IDE não influencia nisso. Eu mesmo utilizo o Eclipse, mas já usei o Net Beans também.
Eric_Yuzo
Outro detalhe que passou despercebido quando olhei o post a primeira vez. O JFrame tem um método setJMenuBar, que serve para especificar o menu bar vinculado ao frame:
frame.setJMenuBar(bar);Não é necessário adicionar com o método add.
andre_teprom
Maravilha !!!
Eric, procedi conforme a sugestão do post anterior, e funcionou perfeitamente.
Muito obrigado novamente.
+++
Marky.Vasconcelos
Você não precisa de nenhum alinhamento. Apenas o setJMenuBar resolve.