Imagem em jpainel

9 respostas
R
Olá pessoal

estou com uma duvida

é o seguinte normalmente para exibir uma imagem eu as incluo em na pasta raiz do projeto e exibe normal

so que estou com um projeto onde tem que organizar e apontar um caminho onde estarão as imagens

até ai blz criei uma tabela e cadastrei o caminho e obtenho no meu projeto

a duvia é o seguinte, utilizo o mesmo codigo para receber a imagem em um jpaninel do netbeans6.8

ai atravez de uma verificação onde tem que achar se  possui cadastro ou nao

caso não tenha exibir a imagem nologo.jpg que tb tem um caminho so que não está exibindo, porque?

segue abaixo o meu codigo

>

int reg;

ImageIcon img = null;

JLabel labelImg = null;

String logo="nologo.jpg";
//criar objeto
    ListarImg = clsOpcaoIMG_dao.ListarOpcIMG();
    reg = ListarImg.size();

    //verificar
    if(reg > 0){
        camLogo = ListarImg.get(reg-1).caminhologo.toString();
    }

    //verificar registro
    if(cod == 0){
       //implementar
       camLogo = camLogo+logo;
       //carrega a imagem passando o nome da mesma
       img = new ImageIcon(camLogo);
    }

    //incluir imagem
    labelImg = new JLabel(img);
    jlogo.add(labelImg,BorderLayout.CENTER);

<–

Por favor alguem pode me ajudar?

Desde já agradeço

9 Respostas

J

coloca um brake point no início do método e vai acompanhando até encontrar o porque de a imagem está null.

R

Ae Julio… blz
ae valeu, mais ja fiz isso e a imagem nao é null
o caminho + o nome estao juntos .jpg e mesmo assim nao exibe
o q pode estar errrado…
mesmo q so quero exibir uma imagem q por exemplo venha estar
em \home\user\projeto\sisgeor\logos\nologo.jpg…

R

Olá pessoal
refiz o metodo e mesmo assim nao consigo exibir imagem alguma…
não sei se tem algum erro… alguem pode me ajudar?
segue abaixo o novo codigo

private void opcimg()
{//inicio do metodo opc-img

//variaveis
    int reg;
    ImageIcon img = null;
    JLabel labelImg = null;
    File path = null;
    String logo="nologo.jpg";

    //criar objeto
    ListarImg = clsOpcaoIMG_dao.ListarOpcIMG();
    reg = ListarImg.size();

    //verificar
    if(reg &gt; 0){
        camLogo = ListarImg.get(reg-1).caminhologo.toString();
    }

    //verificar caminho
    if(cod == 0){
       try{
           //implementar
           camLogo = camLogo+logo;
           //carrega a imagem passando o nome da mesma
           img = new ImageIcon(camLogo);
           path = new File(camLogo);

           //verificar
           if(path.isFile())
               path.exists();
           
       }
       catch(Exception ex){
           JOptionPane.showMessageDialog(null,"Atenção: ocorreu erro "+ ex);
       }

    }

    //incluir imagem
    labelImg = new JLabel();
    labelImg.setPreferredSize(new Dimension(198,114));
    labelImg.setIcon(img);
    jlogo.add(labelImg,BorderLayout.CENTER);
   
}//fim do metodo opc-img
J

Precisa ser o JPanel? Não é melhor usar o JLabel e usar a propriedade icon?
Pode ser que o jpanel funcione melhor se você criar uma classe que herde dele, e sobrecarregue o método paint.

R

Olá blz…
ae so coloquei em um jpaniel porque pode ficar com uma borda ao lado…
mais se exibir em um label blz tb…
mais como nota a image existe no label… e estou incluindo em um painel
so que não está aparecendo, porque? falta algum paramentro?
se eu remover o jpainel e deixar apensa um jlabel vai exibir a imagem
forçada por setIcon(img)?

Nas outras vez que fiz sempre usei jpainel… e sempre exibiu, so que as imagens
ficavam no diretorio padrao do projeto… e fiz testes se tirar o caminho e colocar
a imagem na pasta do projeto abre normal…

Tem um exemplo simples onde i sistema abre uma imagem em um jpainel estando
em algum lugar quaquer fora do projeto?

ViniGodoy

Oi, quando for postar código, use a tag code:

seu código aqui

Senão fica muito difícil de ler o que você escreveu.

R

Olá pessoal…
obrigado pela ajuda…
consegui resolver… era apenas definir o paint do jpaniel para receber seticon(imagem(new dimension(w,h)));
onde w e h são variaveis dinamica que são carregado na hora da imagem…

janjan

acho que foi o Vini Godoy disponibilizou aqui no guj se não me engano uma classe chamada!
JImagePanel
dah uma procurada… muito bom trabalhar com ela!
e facil!
abraços!

ViniGodoy

janjan:
acho que foi o Vini Godoy disponibilizou aqui no guj se não me engano uma classe chamada!
JImagePanel
dah uma procurada… muito bom trabalhar com ela!
e facil!
abraços!

Se não quiser procurar, aqui está o link: http://www.guj.com.br/posts/list/56248.java#295271

Criado 20 de abril de 2010
Ultima resposta 22 de abr. de 2010
Respostas 9
Participantes 4