Opniao sobre GOTO

2 respostas
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

2 Respostas

victorwss

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

goto para trás? tenta um do-while

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

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

Criado 30 de junho de 2008
Ultima resposta 30 de jun. de 2008
Respostas 2
Participantes 2