Imagem no JLabel

8 respostas
G

Boa tarde a todos.

Estou utilizando NetBeans 6.7.1 e estou tentando inserir uma imagem em um JLabel, porém a imagem não aparecer.
Segui os seguintes passos:

  • botão direito no JLabel e propriedades
  • icon
  • importar imagem para o projeto
  • selecionei a imagem e pedi para importar para o pacote br.com.empresa.imagens

A imagem aparece bonitinha, porém quando executo o JFrame, a imagem não aparece. Alguém saberia me dizer o que está acontecendo?

Obrigado.
Gláuber

8 Respostas

R

Erro bastante estranho. Talvez valha a pena experimentar o seguinte:

  • Copie manualmente a imagem de interesse para o pacote de código-fonte de onde ela deve ser puxada;
  • Ao definir a imagem do JLabel, use a checkbox “Image Within Project”, informe o pacote de código-fonte adequado no item “Package” e finalmente a imagem no item “File”.

A propósito, sugiro atualizar para o NetBeans versão 6.8 ou 6.9 RC1. Há uma série de melhorias importantes em relação à versão 6.7.

G

Nada feito. Segui a recomendação e a imagem continua não aparecendo quando eu executo o Formulário.

samirrolemberg

qual o formato da imagem?

G

JPG

samirrolemberg

converte elas pra png ou gif.

G

Show de bola! Com gif funcionou.

Muito obrigado.
Abraço a todos

erico_kl

bom… pelo certo teria que dar com JPG também…
vc tentou inserir a imagem no braço?

K

@Edit: Resolvido, meu problema estava no método de ação dos botões.

Aproveitando o tópico:

Estou usando NetBeans 6.7.1, e carrego 3 imagens (em 3 JLabel) num JLayeredPane, pois preciso que elas fiquem sobrepostas.

Quando ocorre uma mudança no RadioButton selecionado, preciso mover a imagem(JLabel), entretando não consegui fazer ela se mover.
private void initComponents() {
             //Criação da JLabel dentro do JLayeredPane
             lblChar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/radiacao/img/char.jpg")));
             lblChar.setBounds(175, 350, 50, 50);
             lyPalco.add(lblChar, javax.swing.JLayeredPane.MODAL_LAYER);

             // exemplo de 1 dos 3 radiobutton do buttongroup
             rbNivelMar.setSelected(true);
             rbNivelMar.setText("Nível do Mar");
             rbNivelMar.addActionListener(new java.awt.event.ActionListener() {
                 public void actionPerformed(java.awt.event.ActionEvent evt) {
                     rbNivelMarActionPerformed(evt);
                 }
             });
    }

    private void rbNivelMarActionPerformed(java.awt.event.ActionEvent evt) {
            if (rbNivelMar.isSelected()){ //set char = nivelMar
                lblChar.setBounds(175, 350, 50, 50);
                lblChar.setLocation(175, 350);
            }
    }
Bom, nem o setBounds() nem o setLocation() estão funcionando, então, ou o erro está no método utilizado, ou na Action do RadioButton.

Quem puder me ajudar.

Desde já agradeço a atenção.

Criado 2 de junho de 2010
Ultima resposta 10 de jun. de 2010
Respostas 8
Participantes 5