Dúvida Barra Menu[resolvido]

10 respostas
L

Galera,

não sei se tem como fazer isso, mas vou peguntar.

tenhu uma tela,e seguinte tenho os menus, e nele queria colocar um menu no canto direito! tem jeito de fazer isso?

segue a imagem


10 Respostas

T

pelo que entendi, vc quer permanecer com aquele menu já existente no lado esquerdo da tela e quer adicionar um segundo menu no lado direito, certo?

se sim,
basta criar uma nova camada de menus sobre aquela area que vc quer aplicar o menu…
… uma div que contenha o seu menu
o posicionamento dessa div vc configura por um css

eh barbada!
xD

qualquer coisa solta o grito!
t+

L

então cara, deixa eu entender, vo criar mais um menu seria aquele Menu Sair, ele vai para o canto direito da minha tela…

essas configurações seria no NB?certo?

T

bah velho,
desculpa agora que percebi… seu programa é desktop neh?

a dica que lhe dei é válida para web… (div, css… eh tudo coisa pra browser…)

poOW foi mal aew!

L

sim é desktop!!

sem problemas…

caso alguem tenha uma solução, agradeço!!

valeu

L

ninguem sabe?nenhuma sugestão?

E

Box.createHorizontalGlue() faz a mágica que você quer.

package guj;

import javax.swing.SwingUtilities;
import java.awt.BorderLayout;

import javax.swing.Box;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import java.awt.event.KeyEvent;

public class ExemploJMenuDireita extends JFrame {

    private static final long serialVersionUID = 1L;
    private JPanel jContentPane = null;
    private JMenuBar mnbMain = null;
    private JMenu mnuFile = null;
    private JMenuItem mniOpen = null;
    private JMenuItem mniExit = null;
    private JMenu mnuHelp = null;
    private JMenuItem mniAbout = null;
    private JMenu mnuWindow = null;
    private JMenuItem mniTile = null;
    private JMenuItem mniCascade = null;
    private JMenuBar getMnbMain() {
        if (mnbMain == null) {
            mnbMain = new JMenuBar();
            mnbMain.add(getMnuFile());
            mnbMain.add(getMnuWindow());
            mnbMain.add(Box.createHorizontalGlue()); // <--- o segredo é usar isto aqui
            mnbMain.add(getMnuHelp());
        }
        return mnbMain;
    }
    private JMenu getMnuFile() {
        if (mnuFile == null) {
            mnuFile = new JMenu();
            mnuFile.setText("File");
            mnuFile.setMnemonic(KeyEvent.VK_F);
            mnuFile.add(getMniOpen());
            mnuFile.add(getMniExit());
        }
        return mnuFile;
    }
    private JMenuItem getMniOpen() {
        if (mniOpen == null) {
            mniOpen = new JMenuItem();
            mniOpen.setText("Open");
            mniOpen.setMnemonic(KeyEvent.VK_O);
        }
        return mniOpen;
    }
    private JMenuItem getMniExit() {
        if (mniExit == null) {
            mniExit = new JMenuItem();
            mniExit.setMnemonic(KeyEvent.VK_X);
            mniExit.setText("Exit");
        }
        return mniExit;
    }
    private JMenu getMnuHelp() {
        if (mnuHelp == null) {
            mnuHelp = new JMenu();
            mnuHelp.setText("Help");
            mnuHelp.setMnemonic(KeyEvent.VK_H);
            mnuHelp.add(getMniAbout());
        }
        return mnuHelp;
    }

    /**
     * This method initializes mniAbout	
     * 	
     * @return javax.swing.JMenuItem	
     */
    private JMenuItem getMniAbout() {
        if (mniAbout == null) {
            mniAbout = new JMenuItem();
            mniAbout.setText("About");
            mniAbout.setMnemonic(KeyEvent.VK_A);
        }
        return mniAbout;
    }
    private JMenu getMnuWindow() {
        if (mnuWindow == null) {
            mnuWindow = new JMenu();
            mnuWindow.setText("Window");
            mnuWindow.setMnemonic(KeyEvent.VK_W);
            mnuWindow.add(getMniTile());
            mnuWindow.add(getMniCascade());
        }
        return mnuWindow;
    }
    private JMenuItem getMniTile() {
        if (mniTile == null) {
            mniTile = new JMenuItem();
            mniTile.setText("Tile");
            mniTile.setMnemonic(KeyEvent.VK_T);
        }
        return mniTile;
    }
    private JMenuItem getMniCascade() {
        if (mniCascade == null) {
            mniCascade = new JMenuItem();
            mniCascade.setText("Cascade");
            mniCascade.setMnemonic(KeyEvent.VK_C);
        }
        return mniCascade;
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                ExemploJMenuDireita thisClass = new ExemploJMenuDireita();
                thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                thisClass.setVisible(true);
            }
        });
    }
    public ExemploJMenuDireita() {
        super();
        initialize();
    }
    private void initialize() {
        this.setSize(300, 200);
        this.setJMenuBar(getMnbMain());
        this.setContentPane(getJContentPane());
        this.setTitle("JFrame");
    }
    private JPanel getJContentPane() {
        if (jContentPane == null) {
            jContentPane = new JPanel();
            jContentPane.setLayout(new BorderLayout());
        }
        return jContentPane;
    }
}


L

entanglement …

hum entendi, então seria a mesma jogada se eu fizer no NB?
pois estou criando a telinha por lá…

L

Boa noite!

É simples! Clica com o botão direito sobre o penultimo item do seu JMenuBar (Proposta de Contratação) no NetBeans e depois vá em Personalizar Código!

Uma nova janela se abre… nessa janela você coloca:

Depois de todos os códigos que estiverem lá!

Normalmente eu coloco que depois de:

Executa o Programa e verá que o item no seu caso “Sair” estara preso na esquerda da tela!

L

opa deu certinhu…

mas só mais uma dúvida ao menu

fazendo dessa forma qua vc disse tem como fechar ele

JMenu5 – seria o sair

jMenu5.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { dispose(); } });

L

Tem sim!

Mais você vai ter que setar:

Mais nao é no evento actionPerformed e sim no evento mouseClicked! Pelo menos foi o evento que utilizei! Ai coloca o código:

Qualquer duvida, pos ta ai! Flw!

Criado 21 de junho de 2011
Ultima resposta 26 de jun. de 2011
Respostas 10
Participantes 4