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