Então… Assim, tenho minha tela de login e ela tem uma imagem de fundo. Pra não salvar a minha imagem em uma pasta e ficar exposta pra qualquer um ir la e alterar, queria saber como faço pra incluir ela dentro do meu jar. Digo, qual caminho buscar pra poder encontrar esta imagem? Fica na minha pasta de arquivos class ou arquivos java? Socorro kk
Sim, eu pesquisei, mas não entendi bem o que fizeram…
Estou usando o Eclipse
Quero salvar o caminho em uma String…
Abra o seu .jar com o WinRar e verifique se a sua imagem se encontra lá dentro, se achar, é só obter o caminho dela utilizando getClassLoader(), que vc acha exemplos de monte no google. Caso não ache ela, adicione a pasta que está a imagem no classpath, gere o jar, e verifique novamente.
G
guilherme.programmer2 likes
As minhas sempre ficaram dentro do jar nem sei fazer pra ficar fora kkkkk Um exemplo simples, crie dentro da pasta src uma pasta chamada Imagens, eu utilizo netbeans pode fazer por ele tb, e joga as imagens ai dentro, dai so setar como Imagens/suaimagem.png, quando gerar o jar as imagens vao estar dentro dele se tiver alguma duvida fala que te mando um exemplo
C
Chaybelucas
MANO, PELO AMOR DE CRISTO, ME AJUDA KKK
Eu até entendi, fiz isso, mas acho que fiz errado, porque não tá aparecendo. Ah, eu uso o Eclipse… mas entendo o que ce quis dizer que fez no netbeans. Mas pode dar um exemplo ae? Se não for demais, com imagem, porque sou leigo :v
D
Demetriosfernands
Clica com o direito no projeto e vai em “new package”, nomeia ele como imagens e copia e cola as imagens lá dentro, ai pra acessar as imagens de outro pacote você passa o caminho …/imagens/nome_da_imagem.gif, quando gerar o jar as imagens vão estar dentro dele.
G
guilherme.programmer
Vo criar um exemplo aqui rapidão, espera 5 min que ja posto
Edit
Segue o link, ai ta o jar da aplicação para vc ver que as imagens estao dentro do jar, ele esta dentro da pasta dist, e o codigo fonte na pasta src, fiz so uma tela para exemplificar o que vc quer, nada de funcional nele rs
Tô começando a entrar em pânico kk
Saca só. Esta é a String que tá recebendo a minha imagem.
E aqui está meu conjunto de packages. A imagem está ali, no package img e minha main tá no package Arkell
Já tentei até colocando dentro do package Arkell, mas não tá indo também… Tô errando algo?
Meu fundo tá em um JLabel…
lbFundo.setIcon(newImageIcon(c.fundoInicio));
G
guilherme.programmer
Vc ta fzd em Swing ou JavaFX? Tenta colocar uma imagem em um botao conforme falei para vc ver, quando eu ia colocar fundo n setava assim, pq pelo menos aqui nunca deu pra ficar uma em cima da outra, pois nao era possivel adicionar itens em um label, quando queria fazer fundo usava o paint com o draw image, porem isto nao vem ao caso que seria sua pergunta de colocar a imagem no jar rsrs olha o exemplo q mandei q ta funcionando 100% xD
J
juliofsn1 like
Você viu o link q eu postei? Em teoria basta você fazer:
Sendo que na minha classe Constante, que instanciei com o nome c, eu tinha uma String chamada fundoInicio que recebia o local “/img/fundo.jpg”, por isso concatenei c.fundoInicio
Obrigado a todos que se dispuseram a me ajudar!
G
guilherme.programmer1 like
Por isso que falei pra vc ver la o que tinha postado kkk ta em swing tb o exemplo e era esse comando ai, la utilizei em um botao:
Mas se quer deixar como fundo da uma olhada em drawImage e paint q fica lgl flw
C
Chaybelucas
Beleza mano, vou dar uma olhada, com certeza hue
Agora tenho que descobrir como colocar o topico como resolvido '-'
Uma vez eu fiz, mas não lembro mais como faz. E realmente não to achando nada. auehaeuh
E
edsouzza
Perfeito me salvou desta vez.
Do meu jeito usando o JasperSoft Studio ficou assim:
//exibindo o relatorio
HashMap filtro = new HashMap();
//passando o caminho das imagens do projeto por parametrofiltro.put("CABECALHO","images/cabecalho.png");filtro.put("ASSINATURA","images/assinatura.png");JasperPrintimpressao=JasperFillManager.fillReport(caminho,filtro,conexao);JasperViewerviewer=newJasperViewer(impressao,false);viewer.setTitle("Relatório de Patrimônios Transferidos");viewer.setZoomRatio(newFloat(0.7956));//ajustando o relatorio na paginaviewer.setVisible(true);conexao.close();