Thanks a lot! I worked! Tell me, do you know a good book about wicket? I have red the 1st chapter o Wicket in Action from manning and it seams nice, but it is not finished yet.
Thanks again! --ms Matej Knopp-2 wrote: > > Image doesn't change because it's being cached by the browser. > To ensure that browser doesn't cache the image you need to append a > string to url that changes on every refresh. > Just like NonCachingImage does. > > -Matej > > On Dec 22, 2007 8:53 PM, Marco Santos <[EMAIL PROTECTED]> wrote: >> >> Hello there! >> >> I'm with problems refreshing an Image. On my web application i'm trying >> to >> refresh or change an Image that is on a Panel. On the panel there is a >> Image >> (it is rendered the first time) and a label. Outside the panel i have >> AjaxLink's (that are images too) that refresh the panel, and consequently >> the components on it, the image and the label. when the link is clicked, >> the >> label e refreshed with the new text, but the image still the same. The >> code >> is the following: >> >> /** >> *The Panel with the image to be refreshed: >> *(the label on the panel is freshed when the link is pressed. >> **/ >> public class PhotoPanel extends Panel { >> /** Creates a new instance of PhotoPanel*/ >> public PhotoPanel(String id, byte[] photoData, int size, Integer >> index) >> { >> super(id); >> setOutputMarkupId(true); >> >> MyImage mainPhoto = new MyImage("mainPhoto", photoData, >> size);//component that extends Image >> mainPhoto.setOutputMarkupId(true); >> >> Label label = new Label("index", "MYLABEL: " + index.toString()); >> >> add(mainPhoto); >> add(label); >> } >> } >> >> /** >> * The AjaxLink's on a Parent panel that holds a panel with the links, >> and >> the panel with the image >> * to be refreshed >> **/ >> private class PhotoSlideLink extends AjaxLink { >> private byte[] photoSlideData = null; >> Integer index = 0; >> public PhotoSlideLink(String id, byte[] photoSlideData ) { >> super(id); >> this.photoSlideData = photoSlideData ; >> >> MyImage photoSlide = new MyImage("photoSlide", photoSlideData >> , >> 100); >> add(photoSlide ); >> } >> >> @Override >> public void onClick(AjaxRequestTarget ajaxRequestTarget) { >> Panel newMainPhotoPanel = new PhotoPanel("mainPhotoPanel", >> photoSlideData , MAIN_PHOTO_SIZE, index++); >> newMainPhotoPanel .setOutputMarkupId(true); >> >> /*the first PhotoPanel created when the page was loaded*/ >> mainPhotoPanel.replaceWith(newMainPhotoPanel); >> mainPhotoPanel= newMainPhotoPanel ; >> >> ajaxRequestTarget.addComponent(newMainPhotoPanel); >> } >> } >> >> Does any one know why refreshing the panel, the label change, but not the >> image? Am i forgetting to do something? >> >> Thanks a lot >> -- >> View this message in context: >> http://www.nabble.com/Problems-Refreshin-a-Image-from-AjaxLink-tp14472713p14472713.html >> Sent from the Wicket - User mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/Problems-Refreshin-a-Image-from-AjaxLink-tp14472713p14473189.html Sent from the Wicket - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]