попробуйте либо при каждом изменении видимости слоя делать jlayeredpane.updateUI(), либо вместо JLayeredPane использовать обычный JPanel, и при каждом клике на элемент в JList удалять все компоненты с JPanel, затем добавлять все нужные компоненты и jpanel.updateUI().