Hi guys,

I have a similar problem that NonCachingImage does not solve. I have
implemented a simple expand/collapse button. I check the rendered page
source in FireFox and image name is always "/img/expand.gif". Here is the
code:

                        /* advanced search link */
                        add(new AjaxSubmitLink("advancedSearch") {

                                private static final long serialVersionUID = 
3847759110695405700L;

                                @Override
                                protected void onSubmit(AjaxRequestTarget 
target, Form<?> form) {
                                        advancedSearch = !advancedSearch;
                                        target.addComponent(findUserAcountForm);
                                }
                        }.add(new NonCachingImage("expandCollapse", new 
Model<String>() {

                                private static final long serialVersionUID = 
3430522655787763141L;

                                @Override
                                public String getObject() {
                                        return advancedSearch ? 
"/img/collapse.gif" : "/img/expand.gif";
                                }
                        })));

Thanks,
Zhubin


Marco Santos 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-tp14472713p22376598.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to