Problema em abrir

2 respostas
F

Ola galeria,

Comprei um livro de java, estou no capitulo 8, emperrei em um exercicio. Alguem pode me ajudar?

Meu frame é: (GuiMenuPrincipal.java)

package capitulo08;

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

public class GuiMenuPrincipal extends JFrame {

    private Container contentPane;
    private JMenuBar mnBarra;
    private JMenu mnArquivo, mnExemplos;
    private JMenuItem miSair, miBotao, miCaixaOpcao, miRadio, miLabel;
    private static GuiMenuPrincipal frame;

    public GuiMenuPrincipal() {
        inicializarComponentes();
        definirEventos();
    }

    private void inicializarComponentes() {
        setTitle("Menu Principal");
        setBounds(0, 0, 800, 600);
        contentPane = getContentPane();
        mnBarra = new JMenuBar();
        mnArquivo = new JMenu("Arquivo");
        mnArquivo.setMnemonic('A');
        mnExemplos = new JMenu("Exemplos");
        mnExemplos.setMnemonic('E');
        miSair = new JMenuItem("Sair", new ImageIcon("sair.jpg"));
        miSair.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.ALT_MASK));
        miBotao = new JMenuItem("Botao");
        miCaixaOpcao = new JMenuItem("Caixa de Opção");
        miRadio = new JMenuItem("Rádio");
        miLabel = new JMenuItem("Label");
        mnArquivo.add(miSair);
        mnExemplos.add(miBotao);
        mnExemplos.add(miCaixaOpcao);
        mnExemplos.add(miRadio);
        mnExemplos.add(miLabel);
        mnBarra.add(mnArquivo);
        mnBarra.add(mnExemplos);
        setJMenuBar(mnBarra);
        setJMenuBar(mnBarra);
    }

    private void definirEventos() {
        miSair.addActionListener(new ActionListener() {
           public void actionPerformed(ActionEvent e) {
               System.exit(0);
           }
        });

        miBotao.addActionListener(new ActionListener() {
           public void actionPerformed(ActionEvent e) {
                GuiBotao botao = new GuiBotao();
                contentPane.removeAll();
                contentPane.add(botao);
                contentPane.validate();
           }
        });

        miCaixaOpcao.addActionListener(new ActionListener() {
           public void actionPerformed(ActionEvent e) {
                GuiCaixaOpcao guiCaixaOpcao = new GuiCaixaOpcao();
                contentPane.removeAll();
                contentPane.add(guiCaixaOpcao);
                contentPane.validate();
           }
        });

        miRadio.addActionListener(new ActionListener() {
           public void actionPerformed(ActionEvent e) {
                GuiRadio guiRadio = new GuiRadio();
                contentPane.removeAll();
                contentPane.add(guiRadio);
                contentPane.validate();
           }
        });

        miLabel.addActionListener(new ActionListener() {
           public void actionPerformed(ActionEvent e) {
                GuiLabel guiLabel = new GuiLabel();
                contentPane.removeAll();
                contentPane.add(guiLabel);
                contentPane.validate();
           }
        });

    }

    public static void abrir() {
        GuiMenuPrincipal frame = new GuiMenuPrincipal();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Dimension tela = Toolkit.getDefaultToolkit().getScreenSize();
        frame.setLocation((tela.width - frame.getSize().width) / 2,
                        (tela.height - frame.getSize().height) / 2);
        frame.setVisible(true);
    }

}

Quando clico para abrir o item do menu “Label” não dá erro. Mas não acontece nada.
GuiLabel.java

package capitulo08;

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

public class GuiLabel extends JPanel {
    private JLabel label1, label2, label3, label4;
    private ImageIcon imageIcon1;

    public void GuiLabel() {
        inicializarComponentes();
    }

    private void inicializarComponentes() {
        setLayout(new GridLayout(4, 1));
        imageIcon1 = new ImageIcon("java.jpg");
        setBackground(new Color(100, 220, 100));
        label1 = new JLabel("Aprendendo",JLabel.LEFT);
        label1.setForeground(Color.white);
        label2 = new JLabel(imageIcon1);
        label3 = new JLabel("Inserir ",JLabel.RIGHT);
        label3.setForeground(Color.blue);
        label4 = new JLabel("Labels e imagens", imageIcon1, JLabel.CENTER);
        label4.setFont(new Font("Serif", Font.BOLD, 20));
        label4.setBackground(Color.black);
        add(label1);
        add(label2);
        add(label3);
        add(label4);
    }

}

Obrigado

2 Respostas

C

Simples, problema na linha 10 no GuiLabel

//esta assim, como metodo public void GuiLabel() { inicializarComponentes(); } //deve ser assim, como construtor sem o void public GuiLabel() { inicializarComponentes(); }

F

ChronosSage:
Simples, problema na linha 10 no GuiLabel

//esta assim, como metodo public void GuiLabel() { inicializarComponentes(); } //deve ser assim, como construtor sem o void public GuiLabel() { inicializarComponentes(); }

Agora deu certo, muito obrigado pela ajuda!

:smiley:

Criado 12 de março de 2011
Ultima resposta 19 de mar. de 2011
Respostas 2
Participantes 2