Mudar margem do controle JMenu

1 resposta
A

Olá

Eu estou criando um menu via código só que não estou conseguindo mudar a margem dos JMenu… quero diminuir porque esta ficando muito afastado um do outro.

Estou fazendo assim:

mnuCadastro = new JMenu("Cadastro");
            mnuCadastro.setEnabled(true);
            mnuCadastro.setMargin(new Insets(0,0,0,0)); 
            mnuCadastro.setCursor(cursor);
            mnuCadastro.setIcon(new ImageIcon(getClass().getResource("/sistema/imagens/user24.png")));
            mnuCadastro.setIconTextGap(0);
            mnuCadastro.setHorizontalAlignment(SwingConstants.CENTER);
            mnuCadastro.setHorizontalTextPosition(SwingConstants.CENTER);
            mnuCadastro.setVerticalTextPosition(SwingConstants.BOTTOM);

            JMenuItem mFisica = new JMenuItem("Cadastro Pessoa Física");
            JMenuItem mJuridica = new JMenuItem("Cadastro Pessoa Jurídica");
            JMenuItem mConsultar = new JMenuItem("Consultar");

            mnuCadastro.add(mFisica);
            mnuCadastro.add(mJuridica);
            mnuCadastro.add(mConsultar);

Coloquei esse linha só que não importa o número que coloco não altera nada

mnuCadastro.setMargin(new Insets(0,0,0,0));

1 Resposta

A

Já descobri o porque

eu estou criando o JMenuBar assim

menuBar = new JMenuBar(); menuBar.setLayout(new GridBagLayout()); 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;

e nesse layout GridBagLayout não permite mudar as margens.

Qual o melhor layout a ser usado que permita alteração na margem e que no caso possa colocar um menu alinhado a direita. Nesse caso ai esta funcionando o alinhamento

Criado 3 de outubro de 2011
Ultima resposta 3 de out. de 2011
Respostas 1
Participantes 1