There have been many times on StackOverflow where a user asks a question like this...
I have a main
JPanel
that contains a childJP
next()
and prev()
methods.Map<String, Component>
for this purpose as it's already there for you. I've not infrequently used enums for this.repaint()
and revalidate()
when swapping components.I can't explain the reason for a down-vote though, unless they're upset you didn't mention the need to remember to call repaint()
and revalidate()
when swapping components. You'll have to ask the down-voter if they are brave enough to respond.
CardLayout
has been thoroughly tested and proven to work. It correctly acquires the component-tree lock and performs component validation in order to ensure that nothing can go wrong. Your solution, while it may work most of the time, will fail under certain circumstances.
This all boils to reinventing the wheel: Why would you want to when such a time-tested class is already available?