Imagem de um Splash Screen no NetBeans (Dúvida muito boba)

6 respostas
loganwlogan

Boa tarde amigos,

Sei que a dúvida é boba, mas procurei resposta pelo fórum e internet e não consegui nada. Eu tenho um Splash Screen que aparece na inicialização do programa (Aprendia afazer no turorial do GUJ). Mas só funciona se eu fizer assim:

private final String imgName = "D:/kurt/LoganCorp/imagens/logologan2.jpg";
      Image splashImage;     
...
splashImage = toolkit.getImage(imgName);

Já testei de várias formas:

private final String imgName = "/logologan2.jpg";
private final String imgName = "imagem/logologan2.jpg";
private final String imgName = "br/com/proventos/logologan2.jpg";

nenhuma delas da certo, a não ser se eu colocar o caminho completo da imagem, e aí ela não funciona em outro computador. Esqueci de dizer, eu to fazendo isso no netBeans a classo do tutorial funciona mas quando passo pro NB é que não funciona.

Alguém pode me dar uma luz?

abçs

Logan

6 Respostas

yorgan

Assim você consegue o caminho da classe e pode somar com o nome da imagem, se estiver no mesmo pacote.

private final String imgName = this.getClass().getResource(".").getPath() + "/logologan2.jpg";

Acho que daqui você já consegue se organizar melhor.

[]´s

loganwlogan

Caro Yorgan

Eu fiz o teste aqui e reparei que ele ta retornando uma “/” no início do caminho, e não funcionou. Eu achava que o certo seria colocar “/imagem/logologan2.jpg” e assim funciona fora do NB, creio que seja algo relacionado ao NB específicamente.

Abçs

Logan

yorgan

Bom, eu já tive esse problema e só encontrei a solução da utilização do path ou enviar as imagens para o banco e importa-las para a aplicação via consulta a base de dados. Essa segunda opção foi a que acabei utilizando, achei mais interessante manter tudo no banco.
Mas abre o jar gerado da aplicação com o winrar(ou o programa que utilizar) e da uma olhada na disposição das pastas. Verifica se na pasta que tem a sua classe tem a pasta com as imagens.

[]´s

loganwlogan

Prezado Yorgan,

Achei interessante a idéia do banco, mas meu programa já faz vários acessos ao banco, todo combobox dele é alimentado por uma tabela do banco, acho que isso tornaria minha aplicação mais pesada ainda. Tentarei essa solução pra ver o que acontece.

Abçs

Logan

wID

Tenta usar assim:

java.net.URL url = this.getClass().getResource("nomedopacote/nomedaimagem.jpg");
Image splashImage = Toolkit.getDefaultToolkit().createImage(url);
P

Alguém sabe se isso só funciona localmente ou se pode ser feito por HTTP ou FTP sem nenhuma modificação, só colocando o endereço?

Se sim, essa seria uma saida. Colocar em algum host e pronto.

Não acho a idéia do Banco boa. Perder tempo de consulta não é tão legal assim.

Criado 19 de maio de 2008
Ultima resposta 26 de mai. de 2008
Respostas 6
Participantes 4