You can use a behavior to set whether a component is visible or enabled based on a model.
The wicketstuff-minis project has two behaviors that do just this: https://javadoc.io/doc/org.wicketstuff/wicketstuff-minis/latest/org/wicketstuff/minis/behavior/EnabledModelBehavior.html https://javadoc.io/doc/org.wicketstuff/wicketstuff-minis/latest/org/wicketstuff/minis/behavior/VisibleModelBehavior.html The behaviors both take a boolean model in their constructor. In the Behavior#onConfigure method, they use the model value to set whether the component is enabled or visible. Thanks Andrew On Tue, May 11, 2021 at 3:34 AM Martijn Dashorst <martijn.dasho...@gmail.com> wrote: > The primary reason for not using IModel's as control mechanisms for > visibility and enabling of components is memory usage. Wicket applications > can have millions of Component instances at any given time in runtime > memory, and adding 2 references plus the overhead of the IModel objects > would be quite heavy. > > This is also why we didn't opt for lambda's as a basic construct when we > migrated Wicket to Java 8. > > Martijn > > > On Mon, May 10, 2021 at 4:29 PM <s...@stantastic.nl> wrote: > > > So I finally took the plunge and joined the mailing list. > > > > I have been using Wicket for well over a year now and am very happy to > > have stumbled across it. There's just one question that I never really > > found an answer to. I have searched the users list a couple of times and > > found that some people are trying to use the 'setVisible' and > > 'setEnabled' methods with a Model-argument. They want do this in order > > to dynamically change visibility or access to a component. This idea has > > also crossed my mind a couple of times. > > > > The thing is... Wicket doesn't appear to work that way. > > > > When I look at the answers, I see two approaches. One is overriding > > 'isVisible', the other is to configure visibility from the 'onConfigure' > > method in the parent component. I tend to use the later. > > > > Because I always like to understand how things work, I would like to ask > > about the reasoning behind this. Why can't 'setVisible' and 'setEnabled' > > be controlled using IModel<Boolean> arguments? Is there a technical > > limitation here? Or is it just a quirk? > > > > Thanks. > > > > Stan > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > > For additional commands, e-mail: users-h...@wicket.apache.org > > > > > > -- > Become a Wicket expert, learn from the best: http://wicketinaction.com >