Non rendere le cose più complicate del necessario .... Mai sentito di dover calcolare il ramo più "lungo" di un albero per fare una GUI ...
Dovresti anche precisare (non l'hai fatto qui, né mi pare nelle altre discussioni aperte di recente) COME hai rappresentato la gerarchia dei componenti. XML? JSON? Un file di testo con tua struttura fatta-in-casa? Un DSL? Una base dati? Altro?
Nì, no, cioè non è detto. In Swing non c'è la necessità obbligatoria di creare i componenti "padre" prima dei componenti "figli", né il contrario. In altri framework GUI invece è diverso. Ad esempio in SWT (il framework GUI fatto dalla Eclipse Foundation e usato anche da Eclipse), ogni componente deve ricevere nel costruttore il componente "padre". In SWT, Button e Label hanno i costruttori:
public Button(Composite parent, int style)
public Label(Composite parent, int style)
Lì infatti è obbligatorio creare prima il parent. Ma in Swing no.
Che se chiarisci una volta per tutte come hai rappresentato la gerarchia, è meglio.![]()