Menus não aparecem

2 respostas
guisantogui

Boa noite galera!

Olha só hoje passei a tarde no JAVA e consegui aprender muita coisa, mas qdo tentei colocar menus na minha janela, simplesmente eles não apreceram!

poderiam me ajudar com esse problema.

A principio só qro q me ensinem como colocar o menu incial, os submenus qro ver se consigo sozinho!

import java.awt.*;
import javax.swing.*;

public class AplicacaoPoupanca3 extends JFrame{

    private JTextField campoJuros, campoAnos, campoDeposito;
    private JLabel lbJuros, lbAnos, lbDeposito, lbTotal, lbResultado;
    private JButton ok; 
    private JMenu menu;
    private JMenuBar barraMenu;
    private JMenuItem menuItem;

    public AplicacaoPoupanca3()
    {

        super("Poupex");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setBounds(50,100,310,150);

        JPanel painel = new JPanel();

        painel.setLayout(new GridLayout(5,2));
        this.getContentPane().add(painel);
 
        menu = new JMenu("Ajuda");
        barraMenu = new JMenuBar();

        menuItem = new JMenuItem("Sobre");

        barraMenu.add(menu);

        JPanel painela = new JPanel(new FlowLayout(FlowLayout.LEFT));
        JPanel painelb = new JPanel();

        lbJuros = new JLabel("Juros ao mês %:");
        campoJuros = new JTextField(15);

        painela.add(lbJuros);
        painelb.add(campoJuros);

        painel.add(painela);
        painel.add(painelb);


        JPanel painelc = new JPanel(new FlowLayout(FlowLayout.LEFT));
        JPanel paineld = new JPanel();

        lbAnos = new JLabel("Num. de anos:");
        campoAnos = new JTextField(15);

        painelc.add(lbAnos);
        paineld.add(campoAnos);

        painel.add(painelc);
        painel.add(paineld);


        JPanel painele = new JPanel(new FlowLayout(FlowLayout.LEFT));
        JPanel painelf = new JPanel();

        lbDeposito = new JLabel("Depósito mensal R$:");
        campoDeposito = new JTextField(15);
        painele.add(lbDeposito);
        painelf.add(campoDeposito);

        painel.add(painele);
        painel.add(painelf);


        JPanel painelg = new JPanel(new FlowLayout(FlowLayout.LEFT));
        JPanel painelh = new JPanel();

        lbTotal = new JLabel("Total poupado R$:");
        lbResultado = new JLabel("");

        painelg.add(lbTotal);
        painelh.add(lbResultado);

        painel.add(painelg);
        painel.add(painelh);

        JPanel painelj = new JPanel(new FlowLayout(FlowLayout.LEFT));

        ok = new JButton("OK");
        painelj.add(ok);

        painel.add(painelj);
    }

}
public class Main {

    public static void main(String args[]) {

        AplicacaoPoupanca3 ap3 = new AplicacaoPoupanca3();
        ap3.setVisible(true);
    }
}

2 Respostas

wagne23

Se não me engano é algo como

painel.setJMenuBar(menu);

Da uma olhada na documentação.

CrOnNoS

“painela” “painelb … c … d … e … f” meu deus ! hehe
Well tá difício ler tudo mas tem 2 problemas básicos.
Primeiro, você criou o JMenuBar mas não adicionou ele em lugar algum, logo:
add(barraMenu, BorderLayout.NORTH);
já resoleria esse problema
o outro “problema” é que você não fez nada com o menuItem além de cria-lo, mas como você disse, parece que você ainda vai trabalhar nisso depois do menu aparecer né … boa sorte então.

EDIT: comentei sobre o painela etc como brincadeira supondo que você fez isso só porque era um programa teste qualquer, mas por via das dúvidas vou fazer uma pequena recomendação de qualquer forma. Tente colocar “significado” nos nomes das variáveis algo como:
“painelDeAnos”
“painelCentral”
“painelDeJuros”
“painelTotalDepositado”

Criado 19 de setembro de 2009
Ultima resposta 19 de set. de 2009
Respostas 2
Participantes 3