Dans Java, une image ou un fichier de propriétés (.properties) sont gérés exactement de la même façon qu'une classe. Ce sont d'abord des fichiers. Et tous sont chargés en mémoire exactement de la même façon.
Après, ce qui est différent, c'est ce qu'on fait du contenu du fichier qui a été copié en mémoire.
Quand tu invoques une classe de n'importe où (sauf de son package), il faut que tu spécifies le package de cette classe. Cela va permettre à Java de trouver le fichier .class sur le disque.
Pour les images, c'est pareil. Comme veux-tu que Java invente que les images sont à chercher dans "../icons" ?
PS: Inutile de préciser que tu écris une application et non une applet, pour Java, il n'y a quasiment aucune différence ; en fait, seul le point d'entrée, c'est-à-dire la façon de démarrer, diffère. D'ailleurs, tu peux très facilement écrire une application qui se comporte comme une applet.
[edit]--Message édité par BifaceMcLeOD--[/edit]