Это зависит от вашей ситуации.
Если предполагается, что новый контент, который вы пытаетесь отобразить, заменяет контент на экране, то да, использование CardLayout - лучший вариант. Это было бы похоже на эмуляцию чего-то вроде UISplitViewController в мире iOS, где у вас есть список слева и основной вид справа, в котором дополнительный контент перемещается на экран на основе действий в правом списке.
Таким образом, в ответ на события «itemtap» в списке вы должны сделать вызов «setActiveItem» для панели с макетом макета карты и ряда дочерних панелей. Вы также можете лениво создавать панели в ответ на действия списка и добавлять их в событие.