When you create a view (in this case it is Swing panel) you add multiple components such as buttons, labels, text fields etc.
Then you have a controller for this view. The view will be used by the controller for different models. Each model requires different components to be enabled/disabled (not all components should be active always). What I have done up to now is to create a method in the view named for instance: carMode()
which does the required configuration in the view and the I call this method in the controller based on some conditions.
Controller code:
if (something == car) { view.carMode() }
However, sometimes you will have need multiple different states for you view and I wonder if this approach could be replaced by something better?