je viens a vous car j’ai un soucie sur un programme personnel en java…
voila, j’ai dans mon projet, une IHM, constitué d’un JFileChooser, cette IHM, récupère le chemin, d’un fichier (en l?occurrence, une image) et la définie comme “icone” sur un JLabel, jusque la tout fonctionne!
Ensuite, le chemin de l’image ( image.GetAbsolutePath() ) est enregistrée dans un fichier texte.
enfin, dans le constructeur de mon IHM principale, je viens lire le fichier ou j’ai stocké le dit chemin, pour que l’image sois chargée au démarrage.
or, au démarrage l’image ne se charge pas! je récupère pourtant le chemin issu du fichier, et j’utilise la même méthode pour définir " l’icone " , mais le problème, c’est que ça ne marche pas!!!
En esperant avoir été assez clair… Merci par avance du temps que vous passerez a m’aider…
oui oui j’ai bien vérifié…(excuse moi pour ma réponse tardive!) que veux tu exactement comme bout de code? la classe qui lit mon fichier, ou la méthode qui l’appelle? avec son appel? je vais tout te mettre par sécurité : en premier la fonction de lecture ou Image_Background est le chemin du fichier de sauvegarde
non, c’est vrai que je n’ai pas essayé, mais la question est que je eux mettre une icone n’importe quand avec la meme methode, c’est juste au demarage que cela bloque, et oui j’ai bien le bon chemin de l’inmage étant donné que je fait un affichage de la variable “image” au demarrage de l’ihm…
Sauf que tu ne nous dis pas ce que vaut ce chemin ? En particulier sur les slashes.
Surtout que si tu utilises des JFileChooser, et sous Windows à plus forte raison, tu vas forcément avoir un chemin avec ces backslashes.
Si tel est le cas, il faut transformer le chemin en URL, avec au choix:
hum… quand tu parle de “reharger” l’image, tu parles par exemple de la methode Repaint de la classe Graphics?
pour ce qui es de la valeur de ce chemin, il vaut ca : C:/Users/…/… (un chemin normal quoi, mais peut etre que je devrait rajouter le slash d’echappement car quand on declare un File le chemin se fait avec //… a creuser j’esper que c’est une bonne piste ^^ en tout cas merci de m’aider autant
Par recharger, j’entends passer par les fonctions dont je parle dans mon autre message : www.clubic.com…
Et le chemin est “normal”, non. Faut faire attention à deux choses:
Tu es sous Windows et le séparateur de fichier c’est l’antislash, pas le slash. Parfois, Windows gère les chemins avec slashes, mais pas tout le temps (ex: fait Ctrl S sous Firefox, et vérifie la différence entre le chemin dans la barre d’adresse, et le chemin que tu peux taper pour le nom du fichier).
L’API utilise une URI, soit quelque chose de ce genre : file: /// C:/Users/Public/ (sans les espaces).
Edité le 28/10/2015 à 00:53
j’ai essayé avec differents syntaxes mais rien n’y fait, il semblerai que c’est le probleme du caractere d’echappement qui ne vas pas… j’ai essayé de rajouter par unemethode des a ma chaine de caractere mais rien n’y fait… en revanche si je declare une String au format : C:\ xx\xx\ ca marche…je comprend pas…
bonjours bonjours, juste pour vous dire que mon problème est résolu, en tatonnant un peu je me suis rendu compte que c’etai ma manière de lire mon fichier qui n’allait pas, je le fait maintenant par un InputStreamReader via la methode Readline(), et ca arche parfaitement désolé de vous avoir embétés avec cela et merci au temps que vous m’avez consacrés!