[Resolvido] JButton... mais dúvidas

4 respostas
B

No meu código, adicionei botões numa barra, mas os ícones não aparecem:
Acho que se não tivesse achado a imagem, teria dado um erro, mas compila e roda normalmente:

Não sei se o código é suficiente para mostrar, mas…

JMenuBar barraCadastros = new JMenuBar(); JButton botaoEstados = new JButton(); JButton botaoCidades = new JButton(); JButton botaoPessoas = new JButton(); Icon iconeEstados = new ImageIcon("estados.gif"); Icon iconeCidades = new ImageIcon("cidades.gif"); Icon iconePessoas= new ImageIcon("pessoas.gif"); barraCadastros.add(botaoEstados, iconeEstados); barraCadastros.add(botaoCidades, iconeCidades); barraCadastros.add(botaoPessoas, iconePessoas); painelCadastros.add(barraCadastros);

e a barra aparece assim:

Alguém pode me ajudar? :roll:

4 Respostas

alanrodrigues

Primeira coisa que acho que você deve considerar…
Porque nao usa JMenu, JMenubar e JMenuItem ao invés de colocar um JButton dentro de um menu?

B

Realmente, melhor. Mas quero fazer uma barrade menu com ícones, entende? Mudei pra JMenu mas o problema ainda persiste.

JMenuBar barraCadastros = new JMenuBar(); Icon iconeEstados = new ImageIcon("estados.gif"); Icon iconeCidades = new ImageIcon("cidades.gif"); Icon iconePessoas= new ImageIcon("pessoas.gif"); JMenu botaoEstados = new JMenu(); JMenu botaoCidades = new JMenu(); JMenu botaoPessoas = new JMenu(); barraCadastros.add(botaoEstados,iconeEstados); barraCadastros.add(botaoCidades,iconeEstados); barraCadastros.add(botaoPessoas,iconeEstados); painelCadastros.add(barraCadastros);

Compila e roda normal, mas fica a barrinha pequena sem nenhuma imagem. E a imagem esta dentro do pacote src do projeto.

C
brunolfagundes:
No meu código, adicionei botões numa barra, mas os ícones não aparecem: Acho que se não tivesse achado a imagem, teria dado um erro, mas compila e roda normalmente:

Não sei se o código é suficiente para mostrar, mas...

JMenuBar barraCadastros = new JMenuBar();
        JButton botaoEstados = new JButton();
        JButton botaoCidades = new JButton();
        JButton botaoPessoas = new JButton();
        Icon iconeEstados = new ImageIcon("estados.gif");
        Icon iconeCidades = new ImageIcon("cidades.gif");
        Icon iconePessoas= new ImageIcon("pessoas.gif");
        barraCadastros.add(botaoEstados, iconeEstados);
        barraCadastros.add(botaoCidades, iconeCidades);
        barraCadastros.add(botaoPessoas, iconePessoas);
        painelCadastros.add(barraCadastros);

e a barra aparece assim:

[img]http://img862.imageshack.us/img862/2576/barras.png[/img]

Alguém pode me ajudar? :roll:

se os botoes sao exibidos e a imagem n, eentao é pq a imagem n foi encontrada pela aplicaçao
crie a seguinte classe ou adapte os metodos na sua aplicaçao

package p237447;

import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;

public class Imagem {

    public Imagem() {}

    /**
     * Abre uma imagem num diretorio
     * c:/pasta/imagem.png ou c:\\pasta\\imagem.png
     * @param imagem
     * @return Image
     */
    public ImageIcon abrirImagemExterno(String imagem) {
        try {
            return new ImageIcon(ImageIO.read(new File(imagem)));
        } catch (IOException ex) {
            return null;//imagem n encontrada ou invalida
        }
    }

    /**
     * Abre uma imagem dentro do programa
     * pacote/imagem.png
     * se for src
     * imagem.png
     * @param imagem
     * @return Image
     */
    public ImageIcon abrirImagemLocal(String imagem) {
        try {
            return new ImageIcon(ImageIO.read(getClass().getClassLoader().getResource(imagem)));
        } catch (IOException ex) {
            return null;//imagem n encontrada ou invalida
        }
    }
    
}
B

Consegui resolver gente. O caminho da imagem estava certinho, era outra coisa. Obrigado assim mesmo!

Criado 29 de março de 2011
Ultima resposta 31 de mar. de 2011
Respostas 4
Participantes 3