Bonjour comunidade,
Talvez este não seja o local para postar esta dica e talvez não seja a melhor ideia, porém resolveu o meu problema e estou compartilhando com vocês a solução para o problema .
Como muitos desenvolvedores por aqui, um belo dia eu precisei obter imagens de dentro de um arquivo JAR executavel para a minha aplicação, pesquisando pela net achei o seguinte código, totalmente funcional:
getClass().getClassLoader().getResource("arquivo.jpg");
O problema começou quando eu precisei fazer isso de dentro de um método estático e não tinha outra alternativa.
A solução encontrada por mim foi criar uma classe simples, com um método apenas para recuperar esta imagem e retornar um objeto para a aplicação com o caminho da imagem. segue o código em questão
/**
* Obtem imagem de arquivos JAR
*
* @param nome Nome do arquivo a ser recuperado do arquivo JAR
* @return Retorna um ImageIcon do arquivo
*
* @author Fabricio Souza Santos
*
* */
public static ImageIcon im(String nome){
class Imagem{
public ImageIcon get(String nome){
return new ImageIcon(getClass().getClassLoader().getResource(nome));
}//end of get
}//end of class Imagem
return new Imagem().get(nome);
}//end of im
,
bem simples, criei um método dentro da minha aplicação que faz chamada para a função im. Esta função cria um objeto da classe Imagem que por sua vez chama o getClass() para recuperar o path da imagem
bem , é isso, espero que tenha sido util
ate