thats because the GWT Widget actually wraps a DOM Element, which is used to render to the browser. Consider simple plain HTML, where you want to render exactly same infoBox (let it be a <div>Hello world</ div>) twice, at the top and at the bottom of the page, you're really going to have two different instances of Elements (Nodes), you cannot attach the same Element twice to the DOM. Though, you can use the same instance if you dont want to render it simultaneously, you can just "move" that Element in the DOM hierarchy to make it appear once at top, next time at the bottom...
that's why you allways will have to create a new instance of a composite for each visual rendering. another approach is not to wrap the DOM Element, but instead to offer an API to render the contents into, the way like ExtGWT works, then you may have only one instance of a "Widget" i.e. holding complex data, and when rendering you just provide that Widget two different instances of DOM Elements that Widget will use to render its contents into. treat your Widget as "graphical" only, so for rendering and keep your data model outside, then there is no problem with multiple widget creation, consider reading MVP topic On 27 Nov., 21:09, Paul <[email protected]> wrote: > I have added the new for each instance. I do not understand why I can > not add a composite multiple times. Does anyone know of a way to mimic > this behavior if this is not directly possible. If I need to have 50 > identical things on the page, having to create 50 manually is > ridiculous, I should be able to create one that I can use multiple > times. > > On Nov 23, 10:43 am, ep <[email protected]> wrote: > > > what jhulford meant is that you really have to make a "new" on every > > widget class you add to any place. > > > On 22 Nov., 06:00, Paul <[email protected]> wrote: > > > > Sorry if this is somewhere else and I missed it, but I have aCustom > > > Widget that I need to be able to addmultipletimesto anothercustom > > > widget I am creating. I do not seem to understand something about this > > > process and so I get the following errors: > > > > "Different parents for double associations" > > > "The other component is added to a parent component more than once." > > > > So basically, the first one gets nuked and only the second one shows > > > up. What am I missing? Can someone please assist me in understanding > > > what is wrong. Thank you so much in advance. Below is the code: > > > > public class FirstClass extends Composite > > > { > > > public FirstClass() > > > { > > > Image image = new Image("img/picture.png"); > > > AbsolutePanel element = new AbsolutePanel(); > > > > element.add(image, 0, 0); > > > > initWidget(element); > > > } > > > > } > > > > public class SecondClass extends Composite > > > { > > > public SecondClass() > > > { > > > HorizontalPanel element = new HorizontalPanel(); > > > > VerticalPanel elementA = new VerticalPanel(); > > > element.add(elementA); > > > > VerticalPanel elementB = new VerticalPanel(); > > > element.add(elementB); > > > > elementA.add(new FirstClass()); > > > elementB.add(new FirstClass()); > > > > initWidget(element); > > > } > > > > } -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
