I am not constructing the validator message, the abstractvalidator is. It would be nice if wicket supported generic validator messages out of the box - all other frameworks do. This is the feature I was trying to add.
By having a link to a label component inside the form component you know where to look for the label's model. Igor > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of > Jonathan Locke > Sent: Saturday, July 30, 2005 10:03 AM > To: wicket-user@lists.sourceforge.net > Subject: Re: [Wicket-user] Feedback Refactor Idea > > > > Jonathan Locke wrote: > > > > > i think you're missing the point. > > > > formcomponents should not possess feedbacks because > formcomponents can > > be wired to more than one feedback component. so the relationship > > needs to be the other way around. it's also important that > > formcomponents never know anything about the feedback > components that > > are watching them. > > > > you know which form component to query for your label because you > > wrote the feedback component and it should take the form > component it > > connects to as an argument to its constructor. i already > showed this > > once below. you don't cast anything in this model! you write a > > first-class label object subclass that takes the form > component as an > > argument. then you can do whatever you want with the form > component > > to construct your label validator message... > > i should have added "when updateFeedback() is called" right > before the elipsis. > > > > > Igor Vaynberg wrote: > > > >> What about generic validator messages - this is more > important then > >> the look and feel of the label which I can achieve in a thousand > >> different ways. > >> > >> Using this model it is not possible to generically identify which > >> Ifeedback belongs to which FormComponent. > >> > >> And what if there are more then one - how do I know which one to > >> query for the label? > >> > >> And I still have to cast Ifeedback to Component in order > to retrieve > >> the model used for the label. > >> > >> Igor > >> > >> > >> > >> > >>> -----Original Message----- > >>> From: [EMAIL PROTECTED] > >>> [mailto:[EMAIL PROTECTED] On Behalf Of > >>> Jonathan Locke > >>> Sent: Saturday, July 30, 2005 1:04 AM > >>> To: wicket-user@lists.sourceforge.net > >>> Subject: [Wicket-user] Feedback Refactor Idea > >>> > >>> > >>> at this point, it looks like it would make more sense to > me to break > >>> with compatibility and change IFeedback to something more > like this: > >>> > >>> interface IFeedback > >>> { > >>> public void updateFeedback(); > >>> } > >>> > >>> then have the framework call updateFeedback() on each IFeedback > >>> implementing component on the page at the appropriate > time (probably > >>> onBeginRequest(), but subject to implementation details). > >>> > >>> then we can implement any kind of feedback component that we want > >>> to. igor can implement like this: > >>> > >>> public class FormComponentFeedbackLabel extends Label implements > >>> IFeedback { > >>> FormComponent component; > >>> > >>> public FormComponentFeedbackLabel(FormComponent component) > >>> { > >>> this.component = component; > >>> } > >>> > >>> public void updateFeedback() > >>> { > >>> // Set label look and feel based on any error in component > >>> } > >>> } > >>> > >>> FormComponentErrorIndicator would be similar, showing/hiding its > >>> content on error. And FeedbackPanel and > FormComponentFeedbackBorder > >>> would do their recursive magic in update() > >>> > >>> so now every feedback component is "pull model" and > updated at the > >>> appropriate time by implementing updateFeedback(). best > of all, the > >>> component can do absolutely anything based on the state > of any other > >>> components passed in to whatever constructor the feedback > component > >>> has... > >>> > >>> doesn't this seem a whole lot simpler and more flexible? > >>> > >>> Jonathan Locke wrote: > >>> > >>> > >>> > >>>> ok, i see... it looks like this is all changed now. if i > >>> > >>> understand, > >>> > >>>> the "collectingComponent" is really a formComponent that > >>> > >>> the feedback > >>> > >>>> is optionally attached to. i think this is actually > slightly more > >>>> general than the old code, which only searched parents. > >>>> but the refactor doesn't > >>>> seem like it's done because the whole idea of a feedback > border is > >>>> kindof meaningless since the containment hierarchy isn't > >>> > >>> always being > >>> > >>>> used to wire things up. > >>>> it seems like there ought to be (at least) two classes here... > >>>> FormComponentFeedbackBorder, > >>>> which visits its children looking for errors and > >>>> FormComponentErrorIndicator, which changes its visibility > >>> > >>> based on any > >>> > >>>> errors set on a particular form component (which is what > >>>> "collectingComponent" > >>>> seems to be). > >>>> given this refactor, i'm unsure what use IFeedback is at > >>> > >>> all... seems > >>> > >>>> like each feedback implementation can just do its own search for > >>>> errors and we could remove the IFeedback from Form constructor... > >>>> ???? > >>>> > >>>> Jonathan Locke wrote: > >>>> > >>>> > >>>> > >>>>> efficiency is the least of our worries here. what's > more, > >>>> > >>> the search > >>> > >>>>> for feedback interfaces on a form validate (which doesn't > >>>> > >>> happen that > >>> > >>>>> often) is already in place in order to support the > >>>> > >>> existing extension > >>> > >>>>> mechanism. while your suggested change would fix your > particular > >>>>> problem, wicket needs to take a more general view. it should be > >>>>> possible to implement absolutely any kind of feedback > >>>> > >>> mechanism for > >>> > >>>>> forms. not just label-oriented feedback. i think we > should stick > >>>>> with what we've got since it's completely general and > >>>> > >>> enhance it only > >>> > >>>>> if we have to in order to implement a feedback label > >>>> > >>> component. make > >>> > >>>>> sense? > >>>>> > >>>>> i agree that you shouldn't have to cast the IFeedback > to a > >>>> > >>> Component. > >>> > >>>>> in the past, this was not necessary... i no longer > understand the > >>>>> code here though... what is this refactor, eelco? > >>>>> and what is a "collectingComponent" ?? > >>>>> in the past, any component could implement IFeedback > and act as a > >>>>> "sink" for feedback information: > >>>>> > >>>>> public interface IFeedback > >>>>> { > >>>>> /** > >>>>> * Called to add feedback messages from a component. If the > >>>>> component is a > >>>>> * container, messages will be added for all children of the > >>>>> container. > >>>>> * > >>>>> * @param component > >>>>> * The component with associated feedback messages > >>>>> * @param recurse > >>>>> * True if feedback messages should be added from > >>>>> children of the > >>>>> * given component > >>>>> */ > >>>>> public void addFeedbackMessages(Component component, boolean > >>>>> recurse); } > >>>>> > >>>>> this is a very powerful way to wire things up and i don't > >>>> > >>> understand > >>> > >>>>> why this was changed. > >>>>> > >>>>> Igor Vaynberg wrote: > >>>>> > >>>>> > >>>>> > >>>>>> I can kind of see what you are saying. The abstract > >>>>> > >>> validator would > >>> > >>>>>> have to search the page and find the Ifeedback for the > >>>>> > >>> formcomponent > >>> > >>>>>> in error. But what if you have two ifeedbacks for a > >>>>> > >>> component - the > >>> > >>>>>> feedback panel and the label? The search is also > inefficient for > >>>>>> something simple like this, I don't think a link in a > >>>>> > >>> formcomponent > >>> > >>>>>> to a labelcomponent is that big a deal. In abstract > validator you > >>>>>> would also have to cast Ifeedback to a Component in > order > >>>>> > >>> to get the > >>> > >>>>>> model, this isnt very safe, it would be nice to have > >>>>> > >>> Icomponent and > >>> > >>>>>> have Ifeedback extend Icomponent. > >>>>>> > >>>>>> Igor > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>>> -----Original Message----- > >>>>>>> From: [EMAIL PROTECTED] > >>>>>>> [mailto:[EMAIL PROTECTED] On Behalf Of > >>>>>>> Jonathan Locke > >>>>>>> Sent: Friday, July 29, 2005 10:03 PM > >>>>>>> To: wicket-user@lists.sourceforge.net > >>>>>>> Subject: Re: [Wicket-user] FieldLabel component > >>>>>>> > >>>>>>> > >>>>>>> well, i don't know what's happened to the feedback > >>>>>> > >>> interface stuff > >>> > >>>>>>> recently, but it was originally designed to be > general enough to > >>>>>>> support what you're > >>>>>>> trying to do. seems like what you're writing is > more or less a > >>>>>>> FormComponentFeedbackLabel. and the link is simply > implementing > >>>>>>> IFeedback (or it used to be... i'm not sure what's > changed... it > >>>>>>> looks unfamiliar now). > >>>>>>> the form code then finds the associated feedback > >>>>>> > >>> elements for each > >>> > >>>>>>> form component. > >>>>>>> > >>>>>>> Igor Vaynberg wrote: > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>>> I've seen the error border, it doesn't do what I want - > >>>>>>>> > >>>>>>> > >>> in our app > >>> > >>>>>>>> a red asterisk indicates a required field and field > labels > >>>>>>>> > >>>>>>> > >>>>>>> with errors turn red. > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>>> What I am looking for is a way to link the label to the > >>>>>>>> > >>>>>>> > >>>>>>> component not > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>>> the other way around. My primary interest was the > validator > >>>>>>>> > >>>>>>> > >>>>>>> stuff, the > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>>> decoration of the label was a bonus. > >>>>>>>> > >>>>>>>> -Igor > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>>> -----Original Message----- > >>>>>>>>> From: [EMAIL PROTECTED] > >>>>>>>>> [mailto:[EMAIL PROTECTED] On > >>>>>>>>> > >>>>>>>> > >>> Behalf > >>> > >>>>>>>> > >>>>>>> > >>>>>>> Of Jonathan > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>>>> Locke > >>>>>>>>> Sent: Friday, July 29, 2005 8:14 PM > >>>>>>>>> To: wicket-user@lists.sourceforge.net > >>>>>>>>> Subject: Re: [Wicket-user] FieldLabel component > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> if you just want to show an error indicator like a > red > >>>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>> > >>>>>>> asterisk, see > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>>>> FormComponentFeedbackBorder. > >>>>>>>>> i personally don't like the idea of changing field > label > >>>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>> > >>>>>>> contents on > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>>>> users. so instead, i've emphasized FeedbackPanel and > >>>>>>>>> > >>>>>>>> > >>> IFeedback. > >>> > >>> > >>>>>>>>> however, you should be able to implement what > you're talking > >>>>>>>>> about though by implementing IFeedback on a > subclass of Label. > >>>>>>>>> > >>>>>>>>> Igor Vaynberg wrote: > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> Hi Guys, > >>>>>>>>>> > >>>>>>>>>> Ive been working on forms a lot lately, and what ive been > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> missing from > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> tapestry is a fieldlabel component. Basically a fieldlabel > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> is a label > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> that is linked to a form component. > >>>>>>>>>> > >>>>>>>>>> This allows to do cool things like: > >>>>>>>>>> > >>>>>>>>>> 1) FieldLabel can change its apperance based on the form > >>>>>>>>>> component > >>>>>>>>>> > >>>>>>>>>> TextField tf=new RequiredTextField(...) FieldLabel lb=new > >>>>>>>>>> FieldLabel("label1","First Name", tf) { > >>>>>>>>>> public void initialize() { > >>>>>>>>>> add(new AttributeModifier("style", true, new > >>>>>>>>>> Model("color:red;")) { > >>>>>>>>>> public boolean isEnabled() > >>>>>>>>>> { > >>>>>>>>>> return !getFieldComponent().isValid(); > >>>>>>>>>> } > >>>>>>>>>> }); > >>>>>>>>>> } > >>>>>>>>>> }; > >>>>>>>>>> > >>>>>>>>>> This will create a field label that will turn red when the > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> linked form > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> component has an error. > >>>>>>>>>> > >>>>>>>>>> Another good use is to prepand an asterisk to the > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> fieldlabel's label if > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> the linked form component has a requiredvalidator added. > >>>>>>>>>> > >>>>>>>>>> 2) FieldLabel's label can participate in validator messages > >>>>>>>>>> > >>>>>>>>>> With this patch it is possible to create generic error > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> messages of form : > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> "'${label}' is required" or "'${label}' contains an invalid > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> email address" > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> I am looking for feedback and ideas on how to make this > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> better before I > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> submit this as a patch. > >>>>>>>>>> > >>>>>>>>>> Thank you! > >>>>>>>>>> Igor > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > ------------------------------------------------------------- > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> ---------- > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> - > >>>>>>>>>> > >>>>>>>>>> Index: wicket/markup/html/form/FormComponent.java > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>> > >>> ================================================================ > >>> > >>> > >>>>>>>>>> === > >>>>>>>>>> RCS file: > >>>>>>>>>> > /cvsroot/wicket/wicket/src/java/wicket/markup/html/form/FormC > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> omponent.j > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> ava,v > >>>>>>>>>> retrieving revision 1.43 > >>>>>>>>>> diff -u -r1.43 FormComponent.java > >>>>>>>>>> --- wicket/markup/html/form/FormComponent.java 28 > >>>>>>>>>> > >>>>>>>>> > >>> Jul > >>> > >>>>>>>>> 2005 11:56:51 -0000 1.43 > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> +++ wicket/markup/html/form/FormComponent.java 30 > >>>>>>>>>> > >>>>>>>>> > >>> Jul > >>> > >>>>>>>>> 2005 02:32:19 -0000 > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> @@ -30,6 +30,7 @@ > >>>>>>>>>> import wicket.model.IModel; > >>>>>>>>>> import wicket.util.lang.Classes; import > >>>>>>>>>> wicket.util.string.StringList; > >>>>>>>>>> +import wicket.version.undo.Change; > >>>>>>>>>> > >>>>>>>>>> /** > >>>>>>>>>> * An html form component knows how to validate itself. > >>>>>>>>>> Validators that @@ -71,6 +72,9 @@ > >>>>>>>>>> /** The validator or validator list for this > component. */ > >>>>>>>>>> private IValidator validator = IValidator.NULL; > >>>>>>>>>> > >>>>>>>>>> + /** The field label for this component */ > >>>>>>>>>> + private FieldLabel fieldLabel; > >>>>>>>>>> + /** > >>>>>>>>>> * Typesafe interface to code that is called when > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> visiting a form component > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> * > >>>>>>>>>> @@ -575,4 +579,24 @@ > >>>>>>>>>> { > >>>>>>>>>> validator.validate(this); > >>>>>>>>>> } > >>>>>>>>>> + + protected FormComponent > >>>>>>>>> > >>> setFieldLabel(FieldLabel label) { > >>> > >>> > >>>>>>>>>> + if (fieldLabel!=null) { > >>>>>>>>>> + + addStateChange(new Change() { > >>>>>>>>>> + private final FieldLabel > >>>>>>>>>> +oldFieldLabel=FormComponent.this.fieldLabel; > >>>>>>>>>> + > >>>>>>>>>> + public void undo() > >>>>>>>>>> + { > >>>>>>>>>> + > >>>>>>>>> > >>>>>>>>> FormComponent.this.fieldLabel=oldFieldLabel; > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> + } > >>>>>>>>>> + }); > >>>>>>>>>> + } > >>>>>>>>>> + this.fieldLabel=label; > >>>>>>>>>> + return this; > >>>>>>>>>> + } > >>>>>>>>>> + + public FieldLabel getFieldLabel() { > >>>>>>>>>> + return fieldLabel; > >>>>>>>>>> + } > >>>>>>>>>> } > >>>>>>>>>> \ No newline at end of file > >>>>>>>>>> Index: > >>>>>>>>> > >>> wicket/markup/html/form/validation/AbstractValidator.java > >>> > >>> ================================================================ > >>> > >>> > >>>>>>>>>> === > >>>>>>>>>> RCS file: > >>>>>>>>>> > /cvsroot/wicket/wicket/src/java/wicket/markup/html/form/valid > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> ation/Abst > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> ractValidator.java,v > >>>>>>>>>> retrieving revision 1.31 > >>>>>>>>>> diff -u -r1.31 AbstractValidator.java > >>>>>>>>>> --- > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> > wicket/markup/html/form/validation/AbstractValidator.java 21 > >>>>>>>>> Jul 2005 10:46:36 -0000 1.31 > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> +++ > >>>>>>>>> > >>>>>>>>> > wicket/markup/html/form/validation/AbstractValidator.java 30 > >>>>>>>>> Jul 2005 02:32:19 -0000 > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> @@ -21,6 +21,7 @@ > >>>>>>>>>> import java.util.Map; > >>>>>>>>>> > >>>>>>>>>> import wicket.Localizer; > >>>>>>>>>> +import wicket.markup.html.form.FieldLabel; > >>>>>>>>>> import wicket.markup.html.form.FormComponent; > >>>>>>>>>> import wicket.model.IModel; > >>>>>>>>>> import wicket.model.Model; > >>>>>>>>>> @@ -139,6 +140,21 @@ > >>>>>>>>>> final Map resourceModel = new HashMap(4); > >>>>>>>>>> resourceModel.put("input", > formComponent.getInput()); > >>>>>>>>>> resourceModel.put("name", formComponent.getId()); > >>>>>>>>>> + + // try to retrieve the label from > >>>>>>>>>> > >>>>>>>>> > >>> field label, > >>> > >>> > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> default to empty string > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> + String labelValue = ""; > >>>>>>>>>> + FieldLabel label = formComponent.getFieldLabel(); > >>>>>>>>>> + if (label != null) > >>>>>>>>>> + { > >>>>>>>>>> + Object modelObject = label.getModelObject(); > >>>>>>>>>> + if (modelObject != null) > >>>>>>>>>> + { > >>>>>>>>>> + labelValue = modelObject.toString(); > >>>>>>>>>> + } > >>>>>>>>>> + } > >>>>>>>>>> + resourceModel.put("label", labelValue); > >>>>>>>>>> + + return resourceModel; > >>>>>>>>>> } > >>>>>>>>>> } > >>>>>>>>>> Index: wicket/markup/html/form/FieldLabel.java > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>> > >>> ================================================================ > >>> > >>> > >>>>>>>>>> === RCS file: wicket/markup/html/form/FieldLabel.java > >>>>>>>>>> diff -N wicket/markup/html/form/FieldLabel.java > >>>>>>>>>> --- /dev/null 1 Jan 1970 00:00:00 -0000 > >>>>>>>>>> +++ wicket/markup/html/form/FieldLabel.java 1 > Jan 1970 > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> 00:00:00 -0000 > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> @@ -0,0 +1,55 @@ > >>>>>>>>>> +package wicket.markup.html.form; > >>>>>>>>>> + > >>>>>>>>>> +import wicket.AttributeModifier; import wicket.Component; > >>>>>>>>>> +import wicket.markup.html.WebMarkupContainer; > >>>>>>>>>> +import wicket.markup.html.basic.Label; import > >>>>>>>>>> +wicket.markup.html.panel.Panel; import > > >>>>>>>>> > >>>>>>>>> > >>>>>>>> > >>>>>>> wicket.model.IModel; import > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>>>>> +wicket.model.Model; import wicket.model.PropertyModel; > >>>>>>>>>> + > >>>>>>>>>> +public class FieldLabel extends Label { > >>>>>>>>>> + protected FormComponent fc; > >>>>>>>>>> + + public FieldLabel(String id, FormComponent > >>>>>>>>>> > >>>>>>>>> > >>> formComponent) > >>> > >>> > >>>>>>>>>> + { > >>>>>>>>>> + super(id); > >>>>>>>>>> + internalInitialize(formComponent); > >>>>>>>>>> + } > >>>>>>>>>> + > >>>>>>>>>> + public FieldLabel(String id, String string, > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> FormComponent formComponent) > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> + { > >>>>>>>>>> + super(id, string); > >>>>>>>>>> + internalInitialize(formComponent); > >>>>>>>>>> + } > >>>>>>>>>> + + public FieldLabel(String id, IModel model, > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> FormComponent formComponent) > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> + { > >>>>>>>>>> + super(id, model); > >>>>>>>>>> + internalInitialize(formComponent); > >>>>>>>>>> + } > >>>>>>>>>> + > >>>>>>>>>> + private void internalInitialize(FormComponent > >>>>>>>>>> > >>>>>>>>> > >>> formComponent) > >>> > >>> > >>>>>>>>>> + { > >>>>>>>>>> + if (fc==null) throw new > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> IllegalArgumentException("formComponent cannot be null"); > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>>> + this.fc=fc; > >>>>>>>>>> + > >>>>>>>>>> + fc.setFieldLabel(this); > >>>>>>>>>> + setRenderBodyOnly(true); > >>>>>>>>>> + + initialize(); > >>>>>>>>>> + } > >>>>>>>>>> + > >>>>>>>>>> + public final FormComponent getFormComponent() { > >>>>>>>>>> + return fc; > >>>>>>>>>> + } > >>>>>>>>>> + + public void initialize() { > >>>>>>>>>> + + } > >>>>>>>>>> + + > >>>>>>>>>> + +} > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> ------------------------------------------------------- > >>>>>>>>> SF.Net email is sponsored by: Discover Easy Linux > > >>>>>>>> > >>> Migration > >>> > >>>>>>>> > >>>>>>> > >>>>>>> Strategies > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>>>> from IBM. Find simple to follow Roadmaps, straightforward > >>>>>>>>> articles, > >>>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>>> informative Webcasts and more! Get everything you need > >>>>>>>>> > >>>>>>>> > >>> to get up > >>> > >>>>>>>>> to speed, fast. > >>>>>>>>> http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > >>>>>>>>> _______________________________________________ > >>>>>>>>> Wicket-user mailing list > >>>>>>>>> Wicket-user@lists.sourceforge.net > >>>>>>>>> https://lists.sourceforge.net/lists/listinfo/wicket-user > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> ------------------------------------------------------- > >>>>>>>> SF.Net email is sponsored by: Discover Easy Linux > Migration > >>>>>>>> > >>>>>>> > >>>>>>> Strategies > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>>> from IBM. Find simple to follow Roadmaps, straightforward > >>>>>>>> articles, > >>>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>>> informative Webcasts and more! Get everything you need > >>>>>>>> > >>>>>>> > >>> to get up > >>> > >>>>>>>> to speed, fast. > >>>>>>>> http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > >>>>>>>> _______________________________________________ > >>>>>>>> Wicket-user mailing list > >>>>>>>> Wicket-user@lists.sourceforge.net > >>>>>>>> https://lists.sourceforge.net/lists/listinfo/wicket-user > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>> > >>>>>>> ------------------------------------------------------- > >>>>>>> SF.Net email is sponsored by: Discover Easy Linux Migration > >>>>>>> Strategies from IBM. Find simple to follow Roadmaps, > >>>>>>> straightforward articles, informative Webcasts and more! Get > >>>>>>> everything you need to get up to speed, fast. > >>>>>>> http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > >>>>>>> _______________________________________________ > >>>>>>> Wicket-user mailing list > >>>>>>> Wicket-user@lists.sourceforge.net > >>>>>>> https://lists.sourceforge.net/lists/listinfo/wicket-user > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> ------------------------------------------------------- > >>>>>> SF.Net email is sponsored by: Discover Easy Linux Migration > >>>>>> Strategies from IBM. Find simple to follow Roadmaps, > >>>>> > >>> straightforward > >>> > >>>>>> articles, informative Webcasts and more! Get > everything > >>>>> > >>> you need to > >>> > >>>>>> get up to speed, fast. > >>>>>> http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > >>>>>> _______________________________________________ > >>>>>> Wicket-user mailing list > >>>>>> Wicket-user@lists.sourceforge.net > >>>>>> https://lists.sourceforge.net/lists/listinfo/wicket-user > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>> > >>>>> ------------------------------------------------------- > >>>>> SF.Net email is sponsored by: Discover Easy Linux Migration > >>>>> Strategies from IBM. Find simple to follow Roadmaps, > >>>> > >>> straightforward > >>> > >>>>> articles, informative Webcasts and more! Get everything > >>>> > >>> you need to > >>> > >>>>> get up to speed, fast. > >>>>> http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > >>>>> _______________________________________________ > >>>>> Wicket-user mailing list > >>>>> Wicket-user@lists.sourceforge.net > >>>>> https://lists.sourceforge.net/lists/listinfo/wicket-user > >>>>> > >>>>> > >>>> > >>>> ------------------------------------------------------- > >>>> SF.Net email is sponsored by: Discover Easy Linux Migration > >>> > >>> Strategies > >>> > >>>> from IBM. Find simple to follow Roadmaps, > straightforward articles, > >>>> informative Webcasts and more! Get everything you need > to get up to > >>>> speed, fast. > >>>> http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > >>>> _______________________________________________ > >>>> Wicket-user mailing list > >>>> Wicket-user@lists.sourceforge.net > >>>> https://lists.sourceforge.net/lists/listinfo/wicket-user > >>>> > >>>> > >>> > >>> ------------------------------------------------------- > >>> SF.Net email is sponsored by: Discover Easy Linux Migration > >>> Strategies from IBM. Find simple to follow Roadmaps, > straightforward > >>> articles, informative Webcasts and more! Get everything > you need to > >>> get up to speed, fast. > >>> http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > >>> _______________________________________________ > >>> Wicket-user mailing list > >>> Wicket-user@lists.sourceforge.net > >>> https://lists.sourceforge.net/lists/listinfo/wicket-user > >>> > >>> > >>> > >>> > >> > >> > >> > >> > >> > >> ------------------------------------------------------- > >> SF.Net email is sponsored by: Discover Easy Linux Migration > >> Strategies from IBM. Find simple to follow Roadmaps, > straightforward > >> articles, informative Webcasts and more! Get everything > you need to > >> get up to speed, fast. > >> http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > >> _______________________________________________ > >> Wicket-user mailing list > >> Wicket-user@lists.sourceforge.net > >> https://lists.sourceforge.net/lists/listinfo/wicket-user > >> > >> > >> > > > > > > ------------------------------------------------------- > > SF.Net email is sponsored by: Discover Easy Linux Migration > Strategies > > from IBM. Find simple to follow Roadmaps, straightforward articles, > > informative Webcasts and more! Get everything you need to get up to > > speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > > _______________________________________________ > > Wicket-user mailing list > > Wicket-user@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > > > ------------------------------------------------------- > SF.Net email is sponsored by: Discover Easy Linux Migration > Strategies from IBM. Find simple to follow Roadmaps, > straightforward articles, informative Webcasts and more! Get > everything you need to get up to speed, fast. > http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > _______________________________________________ > Wicket-user mailing list > Wicket-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > ------------------------------------------------------- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click _______________________________________________ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user