Opniao sobre GOTO

Pessoal estou com uma duvida/problema, tenho q desenvolver uma funcao q faca o seguinte:

tenho dois ArrayList (componentesTela e componentesTelaArrumados)
imagina q no compeonentesTela eu tenho todos os componentes de uma tela(painel, jlabel, edit, botao, jtoolbar, scrollpane, etc etc)

eu tenho que fazer o seguinte: aninhar todos os componetes com os seus pais e filhos… por exemplo: o botao 1 esta dentro do painel 1, o botao 2 esta no frame(raiz) o botao 3 esta dentro do painel 3 q esta dentro do painel 2 e assim sucessivamente…

eu tinha pensado em fazer o seguinte: correr todo o componentesTela, e pegar primeiramente os que sao raiz(removendo eles do componenteTela) depois um for nos que sobraram, eu recupero o container deles e jogo logo abaixo dele no componentesTelaArrumados, e como existe componente dentro de componente dentro de componente eu teria q no final fazer um GOTO tipo if(componenteTela.size() > 0){ volta para o inicio da minha funcao. }

porem ouvi falar qn ao e uma boa pratica fazer isso… alguem sabe como eu posso resolver isso?? eu ja tentei fazer uma funcao q arrumava os componentes internos porem como eu chamava ela dentro dela mesmo… deu erro…

abracos

[quote=fabioebner]Pessoal estou com uma duvida/problema, tenho q desenvolver uma funcao q faca o seguinte:

tenho dois ArrayList (componentesTela e componentesTelaArrumados)
imagina q no compeonentesTela eu tenho todos os componentes de uma tela(painel, jlabel, edit, botao, jtoolbar, scrollpane, etc etc)

eu tenho que fazer o seguinte: aninhar todos os componetes com os seus pais e filhos… por exemplo: o botao 1 esta dentro do painel 1, o botao 2 esta no frame(raiz) o botao 3 esta dentro do painel 3 q esta dentro do painel 2 e assim sucessivamente…

eu tinha pensado em fazer o seguinte: correr todo o componentesTela, e pegar primeiramente os que sao raiz(removendo eles do componenteTela) depois um for nos que sobraram, eu recupero o container deles e jogo logo abaixo dele no componentesTelaArrumados, e como existe componente dentro de componente dentro de componente eu teria q no final fazer um GOTO tipo if(componenteTela.size() > 0){ volta para o inicio da minha funcao. }

porem ouvi falar qn ao e uma boa pratica fazer isso… alguem sabe como eu posso resolver isso?? eu ja tentei fazer uma funcao q arrumava os componentes internos porem como eu chamava ela dentro dela mesmo… deu erro…

abracos[/quote]

goto para trás? tenta um do-while

do {
...
} while (componenteTela.size() == 0);

entao cara eu tinha tentando fazer assim mas deu errado… vou tentar novamente. perae. tinha feito um while ao inves de um do… while