Imagem no form

17 respostas
A

Olá,

como eu faço para ter uma imagem no form principal de meu aplicativo?
Uns materiais dizem que eu devo colocar imagem.png dentro do jar, tem como fazer diferente?
Se não tem como fazer diferente, como faço para colocar a imagem, ou o caminho da mesma, dentro do jar?

17 Respostas

C
Este código coloca uma imagem de fundo em um JDesktoPane, que esta dentro do Form principal da minha aplicação. Se tu não colocar ele dentro do .jar, entao tu tem que enderecar ela no seu disco, mas eu não aconselho não. Segue o código:
setSize(800,600);  
jDesktopPane = new javax.swing.JDesktopPane() {  
   public void paintComponent(Graphics g) {
      Image im = (new ImageIcon(
                         getClass().getResource(                     "/aplicacao/view/icons/Banner.JPG"))).getImage();     
 
      g.drawImage(im,
         (this.getWidth()-im.getWidth(this))/2,
         (this.getHeight()-im.getHeight(this))/2,
         this);
   }
};
:joia:
A

valeu pela dica,mas como eu faço para colocar uma imagem dentro do jar?

C

Da uma olhada na linha do Image …

la eu estou enderecando a pasta que ela ta!

L

Para incluir a imagem no form você também pode criar um JLabel com imagem, assim:

  1. Fora do JAR:
JLabel logo = new JLabel(new ImageIcon("C:/imagem.gif"));
  1. Dentro do JAR:
JLabel logo = new JLabel(new ImageIcon(getClass().getResource("/imagens/logo.png")));

Para colocar a imagem dentro do JAR você deve incluir o diretório da imagem no caminho do JAR.EXE:

jar cmf manifesto.txt seuArquivo.jar *.class imagens/
onde:

jar = executavel que cria os arquivos jar;

cmf = c para criar novo arquivo jar; m para indicar o arquivo de manifesto; f para indicar o nome do arquivo jar a ser criado;

manifesto.txt = arquivo modelo parao MANIFEST;

seuArquivo.jar = nome do seu JAR;

*.class = os arquivos .class da sua aplicação;

imagens/ = diretório com as imagens utilizadas na sua aplicação. (neste caso o diretório imagens está na mesma pasta dos arquivos .class).

Obs.: Eu já consegui utilizar outros tipos de imagens como JGP, BMP e GIF. Utilizando o gerResource() o nome do arquivo deve corresponder exatamente ao informado na String (CASE SENSITIVE).

A

Ok, vleu pelas dicas.
Me esqueci de escrever, eu não uso linux e sim windows. Fiz uma pesquisa no meu computador e achei trocentos manifest.mf, não faço menor idéia em qual usar.
Bem, vou testar o que vcs me enviaram, tomare que dê certo.

Mais uma, a imagem vai ser colorida no form? Pois eu salvei no disco uma imagem colorida e gostaria que ficasse da mesma forma no celular.

Vlue.

L

O que eu te passei é para Windows.

O MANIFEST.MF é criado no momento que você o usa o JAR.EXE.

O arquivo manifesto.txt que eu te falei, é um modelo para o MANIFEST.MF e você faz assim:

  • Cria um arquivo manifesto.txt pelo edit ou bloco de notas no mesmo diretório dos arquivos .class;
  • na primeira linha você coloca:
  • se tiver alguns JAR adicionais (arquivos de terceiros que você usa) você informa abaixo, na segunda linha, separados com espaços:

-sempre finalize as linhas com enter.

Na linha Main-Class você deve informar o nome da classe (sem extensão) que contém o método main();

[]’

A

Obrigado pelas dicas, vou testar.

K

Posso estar enganado mas acho que a maioria das respostas não se aplicam já que este é um fórum de Dispositivos Móveis e principalmente de J2ME.
Para por uma imagem dentro de um form é simples

Image im = Image.createImage("/imagem.png");

form.append(im);
//ou
ImageItem item = new ImageItem("Label",im,ImageItem.LAYOUT_DEFAULT,"Alternate label");
form.append(item);

Normalmente quando se põe a imagem no diretório res do seu editor ou do WTK ela já entra no jar quando a aplcaição é empacotada.

C

:oops: :oops: Nossa, eu nem vi o Fórum!
Obrigado pela OBS irmao!

A

PODERIAM me dizer onde eu posso postar estas mensagens então?
Já que são duvidas para J2ME?

C

Tu postou no Fórum certo, mas eu não tinha prestado atenção quando respondi a sua pergunta.

A

Na boa, apesar de toda essa ajuda eu ainda não consegui mostrar a imagen no meu form.

Image im = new Imagen(ImageItem, null, “c:\imagem.png”, null);

o que falta? :oops:

K

Bem com eu havia comentado uam imagem vc carrega assim:

Image im = Image.createImage("/imagem.png");

Há uma “/” antes do nome do arquivo porque normalmente quando a imagem é empacotada no .jar ela fica na raiz.E para o WTK pegar essa imagem é só por no diretório res.

A

Ok Kamyu,

mas o problema é que não estou me acertando com o manifesto.txt.
Veja bem, eu coloquei este arquivo no diretório onte se encontra o arquivo.class.

Dentro do manifesto.txt “jar cmf manifesto.txt meuarquivo.jar meuarquivo .class c:\imagem\imagem.png”

onde esta o erro?

K

Eu sugiro que vc use somente o WTK e não tente colocar a imagem na mão dentro do jar,porque pessoalmente isso algo que eu nunca tentei e muito menos precisei,crie um projeto no WTK ponha seus fontes dentro de src ponha sua imagem dentro de res e crie o pacote somente através dele porque ae ele cria pra vc o .jad, o .jar e o MANIFEST.MF automaticamente.

A

Foi o que eu fiz, e acabou dando certo, pena que estou desenvolvendo o sistema no eclipse e tenho que copiar o aquivo java para dentro de src toda vez que compilo.

Mas está dando certo, ehe.

C

“armaserosas”:
Foi o que eu fiz, e acabou dando certo, pena que estou desenvolvendo o sistema no eclipse e tenho que copiar o aquivo java para dentro de src toda vez que compilo.

Mas está dando certo, ehe.

Porque vc não usa o EclipseME (plugin de eclipse)?
Ele usa o WTK!!
É bem legal. Você desenvolve tudo somente no eclipse!
Vai no updates do eclipse
New Remote Site
http://eclipseme.org/updates
Instala e pronto!
Existe tutoriais de como configurar e usar no site: www.eclipseme.org

Criado 16 de agosto de 2006
Ultima resposta 21 de ago. de 2006
Respostas 17
Participantes 5