[resolu] GWT et image

GWT et image [resolu] - Java - Programmation

Marsh Posté le 07-06-2010 à 10:01:51    

Bonjour à tous,
 
J'ai un problème avec GWT. En fait j'ai une image en local que j'aimerai mettre dans une de mes pages.. Seulement je ne sais pas comment faire. Lorsque je me sers de l'oblet Image de gwt, et que je fais un setURL cela ne m'affiche une image vide avec pourtant la bonne adresse en propriétés d'image.
 
C'est la bonne adresse car lorsque je copie colle celle-ci et que je l'ouvre dans une page de mon navigateur elle s'affiche correctement..
 
Je suis un peu perdu là.. Quelqu'un pourrait m'aider ?
 
Merci d'avance.


Message édité par Subgenk le 16-06-2010 à 17:05:18
Reply

Marsh Posté le 07-06-2010 à 10:01:51   

Reply

Marsh Posté le 07-06-2010 à 11:55:37    

Salut,
 
Si ton image est dans ton dossier public , il ne devrait pas avoir de problème.
Tu peux nous montrer ton bout de code et/ou une url vers ton site?
 
Sinon si ton image est défini à la compilation, tu peux utiliser ImageResource (http://code.google.com/webtoolkit/doc/latest/DevGuideClientBundle.html#ImageResource) qui est un peu plus efficace et permet d'avoir facilement des images différentes en fonction de tes locales.

Reply

Marsh Posté le 07-06-2010 à 13:55:25    

En fait, je réaliser un programme de statistique sur un ESB.  
J'ai donc une couche service dans mon serveur GWT et ma couche client qui elle présente l'information (orienté via le pattern MVP de gwt).
 
En résumé :
Chargement de ma page, appel jmx pour connaitre le nom de services monitoré (services qui sont appelé juste pour les stats).
Affichage des services sous forme d'arbre, dans un tree au niveau de mon code.
Dès que l'utilisateur clique sur un nom de service, je récupérer le nom, pour faire un autre appel jmx qui lui va créée une image en local qui représente mes statistiques pour ce service.
Jusqu'ici tout va bien.
Le presenteur (cf pattern mvp) qui a déclenché l'appel coté serveur de la méthode de ma couche service, récupérer le retour sous forme de callback, si celui si est réussi il va chercher l'image et l'ajoute dans le panel de sa vue.
Et c'est à ce moment là que du coté de mon navigateur cela plante... Par contre je peux pas vous filer l'adresse vu que c'est que du local pour l'instant.
 
Le code donne ça (pour le présenteur)

Code :
  1. public ServiceStatPresenter(StatisticRetrieverServiceAsync rpcService,
  2.   HandlerManager eventBus, Display display,String id) {
  3.  this.display = display;
  4.  rpcService.createImg(id,new AsyncCallback<Void>() {
  5.   public void onSuccess(Void result) {
  6.    Image im = new Image("D:\\temp\\chart.jpeg" );
  7.       ServiceStatPresenter.this.display.getDisplayer().add(im);
  8.   }
  9.   public void onFailure(Throwable caught) {
  10.    Window.alert("impossible de créer l'image" );
  11.   }
  12.  });
  13. }

Reply

Marsh Posté le 07-06-2010 à 14:49:40    

Code :
  1. Image im = new Image("D:\\temp\\chart.jpeg" );


 
Tu ne peux pas lire une ressource qui est sur ton filesystem, essaie en mettant 'chart.jpeg' dans le dossier public de ton installation GWT.
 
Si tes images sont générées dynamiquement par le serveur , il faut que ton service au lieu de retourner Void, retourne le chemin du fichier créé (et que ce fichier soit dans un dossier servi par ton serveur http),
et que tu crée l'image avec cette URL.

Reply

Marsh Posté le 07-06-2010 à 15:04:44    

mmmh.. Je suis un peu perdu, j'vais voir comment faire, merci bien en tout cas !

Reply

Marsh Posté le 07-06-2010 à 15:26:24    

Effectivement en metant un simple "chart.jpeg" au lieu du chemin complet cela marche, mais maintenant j'ai un problème sur le fait qu'il garde toujours la première image générée en mémoire et ne crées pas les autres dynamiquement comme il est sensé le faire à chaque fois.. ça peut être du à quoi ?
Pourtant en local elle est bien régénérée.. =/

Reply

Marsh Posté le 07-06-2010 à 22:20:03    

Subgenk a écrit :

Effectivement en metant un simple "chart.jpeg" au lieu du chemin complet cela marche, mais maintenant j'ai un problème sur le fait qu'il garde toujours la première image générée en mémoire et ne crées pas les autres dynamiquement comme il est sensé le faire à chaque fois.. ça peut être du à quoi ?
Pourtant en local elle est bien régénérée.. =/


 
As-tu essayé en nommant différemment les images générés?

Reply

Marsh Posté le 14-06-2010 à 09:43:42    

hum non, je vais testé, merci ^^

Reply

Marsh Posté le 16-06-2010 à 17:04:46    

effectivement ça marche très bien comme ça, merci !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed