Lista dinâmica em java

Alguém sabe como poderia fazer ou se realmente há como criar em Java (Swing) uma lista dinâmica como igual em HTML por exemplo, em que ao clicar sobre um tópico principal abrisse ou fechasse os seus sub tópicos, eu já dei uma olhada no componente JTree mas não é exatamete o que procuro, não sei se tem como fazer isto com este componente.

O JList não serve?

https://docs.oracle.com/javase/tutorial/uiswing/components/list.html

Com o JList conseguiria fazer uma lista como a da imagem por exemplo, eu estou desenvolvendo um software para meu TCC, algumas telas como desta imagem foram me passadas e queria saber qual a melhor maneira de fazer. No caso da imagem por exemplo ao clicar sobre uma vacina seria visível as informações dela, e os valores das Vacinas viriam do banco de dados, o problema não é fazer um loop por exemplo para adicionar componentes enquanto eles não forem nulos, o problema é estética mesmo.
No exemplo do JList ele pega um valor e adiciona, a lista não estou criticando negativamente a ideia, mas se for possível reproduzir a imagem como faria com JList ou qualquer outra elemento?

Pq já descartou JTREE ? Usou ele justamente pra montar o menu do sistema. Este menu é de acordo com o Perfil do usuário: