There have been many times on StackOverflow where a user asks a question like this...
I have a main
JPanel
that contains a childJP
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?