Como posso redimencionar um JMenuItem

to criando um meu e coloquei uma opção isolada sem sub menus pra isso coloquei o JMenuItem mais ele fica tomando muito espaço da barra de menu como posso redimencionar ele?

JMenuItem fileLocar = new JMenuItem("Locação"); menubar.add(fileLocar);

agradeço a todos que poder me ajudar

Bom dia,

você tentou metodos como setSize e setPreferredSize ?

[quote=Paulo Dias]Bom dia,

você tentou metodos como setSize e setPreferredSize ?[/quote]

Bom dia :slight_smile:

cara ja tentei,
se isso não der certo, tem como colocar JMenu para ficar clicavel sem ter JMenuItem?
tipo fiz um menu com varios JMenu deu certo mais tinha uma opção que fica no JMenuBar que não precisa de Item e so um botao soh!
tentei colocar o JMenu mais ele n tava respondendo aos clicks.
ae coloquei o JMenuItem deu certo faz tudo, mas esta muito largo o botão.

Comecei a entender o que você está dizendo.
A propósito, nunca vi um programa em que, ao escolher uma opção na barra principal de menus, já executasse alguma ação.
Como isso é um comportamento inesperado, eu diria para botar um botão mesmo, mas aí você não conseguiria navegar corretamente pelos menus.
Uma coisa inesperada, quando você usa um JMenuItem diretamente dentro do JMenuBar, sem ter um JMenu associado, é que quando você seleciona a opção você acaba invocando a ação mesmo que você não tenha clicado diretamente.
Eu acho melhor, até para seguir os padrões de interface do Windows (que foram definidos pela Microsoft) é você sempre usar o JMenuItem com um JMenu, mesmo que o JMenu tenha apenas uma opção. Ou então, o que é melhor nesse caso, ter uma JToolBar.

package guj;

import java.awt.Dimension;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.UIManager;
import javax.swing.UIManager.LookAndFeelInfo;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class ExemploJFrameComJMenu extends JFrame {
    private JMenuBar menuBar;
    private JMenu mnArquivo;
    private JMenuItem mntmSair;
    private JMenuItem mntmAjuda;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
                        if ("Nimbus".equals(info.getName())) {
                            UIManager.setLookAndFeel(info.getClassName());
                            break;
                        }
                    }
                    ExemploJFrameComJMenu frame = new ExemploJFrameComJMenu();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public ExemploJFrameComJMenu() {
        setBounds(100, 100, 450, 300);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setJMenuBar(getMenuBar_1());

    }

    private JMenuBar getMenuBar_1() {
        if (menuBar == null) {
            menuBar = new JMenuBar();
            menuBar.add(getMnArquivo());
            menuBar.add(getMntmAjuda());
        }
        return menuBar;
    }

    private JMenu getMnArquivo() {
        if (mnArquivo == null) {
            mnArquivo = new JMenu("Arquivo");
            mnArquivo.add(getMntmSair());
        }
        return mnArquivo;
    }

    private JMenuItem getMntmSair() {
        if (mntmSair == null) {
            mntmSair = new JMenuItem("Sair");
            mntmSair.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    ExemploJFrameComJMenu.this.dispose();
                }
            });
        }
        return mntmSair;
    }

    private JMenuItem getMntmAjuda() {
        if (mntmAjuda == null) {
            mntmAjuda = new JMenuItem("Ajuda");
            mntmAjuda.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    ExemploJFrameComJMenu.this.setTitle("Ajuda!");
                }
            });
            Dimension dim = new Dimension(50, 50);
            mntmAjuda.setMaximumSize(dim);
        }
        return mntmAjuda;
    }
}

Vlw entanglement isso msm que eu precisava…
E um trabalho de faculdade onde o aluno escolhe um software pra fazer fiz de uma locadora tem os JMenu adicionar os JMenuItem Cliente, Filme.(o msm para Alterar,Excluir,Listar)
mais tinha os botoes de ajuda e Locação que não tem ligação com nem uma das opções mais agora sei como fazer. Resolveu meu problema Brigadão :slight_smile: