So far we're even on beers purchased - so I guess not enough!  I'm thinking
about adding "Buy Wicket in Action" to my signature to help reduce my
chances of carpal tunnel.



-- 
Jeremy Thomerson
http://www.wickettraining.com

On Thu, Nov 13, 2008 at 5:30 PM, Bruno Borges <[EMAIL PROTECTED]>wrote:

> Jeremy, I forgot to ask you: how many beers is Martijn giving to you to
> promote the book? I want that deal too!
>
> cheers,
> Bruno Borges
> blog.brunoborges.com.br
> +55 21 76727099
>
> "The glory of great men should always be
> measured by the means they have used to
> acquire it."
> - Francois de La Rochefoucauld
>
>
> On Thu, Nov 13, 2008 at 9:28 PM, Bruno Borges <[EMAIL PROTECTED]
> >wrote:
>
> > The problem is not just about understanding models. It's deeper than
> that.
> >
> > You have to understand that Wicket architecture is -hardly-speaking- like
> > Java Swing. Objects that you create, will live just like a JButton,
> JPanel,
> > whatever.
> >
> > Label msgStatutTransfert = new Label("msgStatutTransfert", new
> > Date().toString());
> >
> > Here, you create a Label object, and you want an Ajax Update Event to
> > change the date. Well, that will never happen, because in nowhere you are
> > actually updating the 'msgStatusTransfert' object's value. It was created
> > containing an instance of a String (imutable object) from the toString()
> > method of a Date instance.
> >
> > Being more specific (like Swing):
> >   Imagine that you create an instance of JButton(new Date().toString());
> > and add that to a JFrame. Will that value update by itself after calling
> > myJFrame.repaint();? No. Only if you override the repaint() method and
> > before calling super.repaint(), you code something like
> > myButton.setValue(new Date().toString());
> >
> > Understand that, and you will easily - and hopefully quickly - understand
> > why we use Models.
> >
> > Have fun with Wicket!
> >
> > Cheers,
> > Bruno Borges
> > blog.brunoborges.com.br
> > +55 21 76727099
> >
> > "The glory of great men should always be
> > measured by the means they have used to
> > acquire it."
> > - Francois de La Rochefoucauld
> >
> >
> >
> > On Thu, Nov 13, 2008 at 9:13 PM, Jeremy Thomerson <
> > [EMAIL PROTECTED]> wrote:
> >
> >> Yes - you're not understanding models.  You created a Label with a
> static
> >> String - the current time at the time of creation.  You need to use a
> >> model,
> >> which is a "data finder"....  something like:
> >>
> >> new Label("msgStatutTransfert", new AbstractReadOnlyModel<Date>() {
> >>     public Date getObject() {
> >>          return new Date();
> >>     }
> >> });
> >>
> >> Also, read:
> >> http://cwiki.apache.org/WICKET/working-with-wicket-models.html
> >> and buy Wicket in Action.
> >>
> >> --
> >> Jeremy Thomerson
> >> http://www.wickettraining.com
> >>
> >> On Thu, Nov 13, 2008 at 3:58 PM, a_godin <[EMAIL PROTECTED]>
> >> wrote:
> >>
> >> >
> >> > I'm trying something very simple ... I have a form with many panels
> and
> >> in
> >> > one of those panels, I want the current date and time to be refreshed
> >> > periodically.
> >> >
> >> >        final Label msgStatutTransfert = new
> Label("msgStatutTransfert",
> >> new
> >> > Date().toString());
> >> >        msgStatutTransfert.setOutputMarkupId(true);
> >> >        msgStatutTransfert.add(new
> >> > AjaxSelfUpdatingTimerBehavior(Duration.seconds(5)));
> >> >        frmInfosTransfert.add(msgStatutTransfert); // one of my panels
> >> >
> >> > When the page loads, it puts the current date in the label but then it
> >> > doesn't reshesh ... I looked at the debug info ... here's what I get
> >> >
> >> > <?xml version="1.0" encoding="UTF-8"?><ajax-response><component
> >> > id="InfosTransferts_frmInfosTransfert_msgStatutTransfert"
> ><![CDATA[Thu
> >> Nov
> >> > 13 16:09:53 EST 2008]]></component><evaluate><![CDATA[setTimeout("var
> >> >
> >> >
> >>
> wcall=wicketAjaxGet('/ADHO/app/?wicket:interface=:3:InfosTransferts:frmInfosTransfert:msgStatutTransfert:-1:IUnversionedBehaviorListener&wicket:behaviorId=0&wicket:ignoreIfNotActive=true',
> >> > function() { }, function() { });",
> 1000);]]></evaluate></ajax-response>
> >> > INFO: Response parsed. Now invoking steps...
> >> > INFO: Response processed successfully.
> >> > INFO: Invoking post-call handler(s)...
> >> > INFO:
> >> > INFO: Initiating Ajax GET request on
> >> >
> >> >
> >>
> /ADHO/app/?wicket:interface=:3:InfosTransferts:frmInfosTransfert:msgStatutTransfert:-1:IUnversionedBehaviorListener&wicket:behaviorId=0&wicket:ignoreIfNotActive=true&random=0.9564825826726502
> >> > INFO: Invoking pre-call handler(s)...
> >> > INFO: Received ajax response (572 characters)
> >> > INFO:
> >> >
> >> > Any clue what I'm forgetting ?  I'm using wicket-1.2.6 ...
> >> > --
> >> > View this message in context:
> >> >
> >>
> http://www.nabble.com/Label-with-AjaxSelfUpdatingTimerBehavior-not-refreshing-tp20490454p20490454.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]
> >> >
> >> >
> >>
> >
> >
>

Reply via email to