Java no Eclipse: Onde posso colocar os arquivos no sistema de arquivos que deseja carregar usando getResource? (por exemplo, imagens para uma ImageIcon)

StackOverflow https://stackoverflow.com/questions/270197

Pergunta

Eu sei que as necessidades de arquivo para ser onde o getClass (). GetResource (filename) pode encontrá-lo, mas eu não sei onde é.

Eu estou interessado tanto em onde colocar os arquivos no próprio sistema de arquivos, e como ir sobre como utilizar a funcionalidade do Eclipse para configurar os recursos.

Foi útil?

Solução

Para Eclipse, normalmente tudo que você precisa fazer é criar um lugar pasta dentro do seu diretório de código-fonte. Por exemplo, se o diretório que contém sua fonte é /src então você pode criar uma pasta /src/resources para colocar suas imagens / arquivos. Então, dentro de sua classe você fizer uma getResource("/resources/image.png") para recuperá-lo.

Você também pode colocar a imagem / arquivo dentro da mesma pasta / pacote como a classe tentando acessá-lo se desejar (exemplo: colocar o image.png no pacote com.mycompany com a classe com.mycompany.Foo que precisa acessá-lo e chamada getResource("image.png")), mas eu descobri que é mais fácil de manter recursos como imagens e outros arquivos em seu próprio fora diretório especial das pastas de classe - eles são apenas mais fáceis de gerenciar que maneira

.

Em Eclipse, sempre que você faz uma compilação, os arquivos dentro deste diretório de recursos serão copiadas para sua diretório de construção, juntamente com suas classes compiladas.

É importante notar que, se você tem "criar automaticamente" ativada no Eclipse (como a maioria das pessoas fazem) quaisquer recursos neste diretório que se mudaram fora do Eclipse (ou seja, você editar uma imagem usando uma imagem editando ferramenta) que o IDE nem sempre pode detectar esta mudança. Normalmente fazer uma atualização na pasta do projeto irá garantir que o arquivo é atualizado na construção nessas situações.

Outras dicas

Você pode colocá-los na pasta src ao lado de suas classes, ou você pode criar uma nova pasta de origem para o efeito (normalmente chamado recursos ), mas você vai encontrá-los de forma idêntica a partir do código.

Em seguida, você chegar a eles usando getResource("/com/x/y/foo.png").

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top