Carinha, isso não é todo o seu código, é? Se isto for um pedacinho de um código de um JFrame, talvez funcione… De qualquer forma, tá feio pra cacete…
Porque colocar 5 variáveis na inicialização se você não utiliza todas? Isto só polui o código.
Convém lembrar que, embora as linguagens de programação deixe você fazer muitas coisas malucas, muitas vezes elas prejudicam a legibilidade do código. E baixa legibilidade implica em aplicação morta, em pouco tempo, pois aplicação que não pode ser mantida acaba sendo substituída…
InicianteJavaHenriqu
Mas você executa aparece algum erro :?: Não cheguei executar, mas olhando por cima, pude ver variáveis desnecessárias (b, c e d) dentro do loop, podendo otimizar assim:
Você está usando no seu projeto as variáveis b, c, d em algum outro método ou muda os valores delas? Elas são meio inuteis, o código podia ficar assim:
Tudo bem gente, convenções aceitas de bom grado. Sério mesmo. Mas o foco não é esse. Onde estou não tem Eclipse, mas eu executei esse código ontem em casa, e ele só gerou um JTextField. O problema aqui é a lógica do loop. Com relação as variáveis, um array com posições a mais, eu entendo, mas o foco não é esse, até porque eu fiz correndo.
O problema não é o código desnecessário, o problema é simplesmente que o loop não cria as demais caixas de texto, independente de eu ter criado as variáveis b,c ou d ou colocado posições que não utilizarei no meu array.
InicianteJavaHenriqu
Se nem você testou seu código fica difícil…
Não tenho sua classe completa e não dá para testar só este pedacinho (mesmo se eu quiser-se)…
Enfim, pode ser seu gerenciador de layout e por isto os JTextField estão um em cima do outro.
R
rcarauta
O jeito seria pasando o código ocmpleto para testar talvez assim eu descubra o erro
ViniGodoy
Errado. Ele vai gerar 5.
Nenhum.
Mas para usar o setBounds, você deve ter feito setLayout(null); no painel que está recebendo esses componentes, certo?