[Resolvido]Como criar quantidade definida de jTextField apartir de um valor Inteiro

4 respostas
R

Boa tarde Galera!

Gostaria da ajuda de vocês para seguinte situação. Estou realizando um projeto da faculdade, onde preciso montar um diário de classe (onde o professor possa marcar quem faltou em cada dia e as notas de cada prova).

Já possuo as classes e telas para cadastrar alunos, professores, disciplinas, turma…etc. O problema agora é montar a interface do diário.

Por exemplo, desejo criar o diário para a Turma T, que possui a Disciplina D, ministrada pelo professor P e que possui X alunos.

O meu problema é com essa quantidade de alunos, pois a interface do diário deverá ter no canto esquerdo a lista com o nome de todos os alunos, e no lado direito de cada nome, um jTextField para o professor colocar a presença do dia (P para presença e F para falta). Minha dúvida é, existe algum método que faça com que seja criado automaticamente jTextField de acordo com o valor de uma variável? Por exempo, guardo a quantidade de alunos na variável Int X, como fazer para criar exatamente X jTextField?

Até o momento não encontrei nada relacionado a esse assunto, se alguém souber de algum método para eu pesquisar e estudar agradeço.

4 Respostas

E

Que tosco, você não quer usar um JCheckBox em vez de um JTextField?

E

De qualquer forma, você precisa criar um array de JCheckBox (ou do componente que você for posicionar na tela.)

Outra maneira, que é o que o pessoal prefere fazer profissionalmente, é usar uma JTable.

R

Inicialmente a idéia é usar o JTextField, mas acredito que possa até ser melhor mesmo um JCheckBox ou JComboBox… contanto que consiga criá-los automaticamente amigo…

R

Obrigado pela dica, vou tentar utilizar o array (ou até mesmo ver se o JTable atende as necessidades do projeto) e posto aqui qual foi o resultado.

Edit:
Surgiu uma nova dúvida, como vou gerar automaticamente os nomes para o JCheckBox? (Exemplo jcheckbox1, jcheckbox2 … , jcheckboxN. Sendo N o número de jcheckbox desejado).

Edit2:

Galera, para quem estiver interessado, segue abaixo a solução que fiz utilizando Array, conforme a dica do "entanglement ":

JComboBox teste[] = new JComboBox[5];     // Criamos um array do tipo JComboBox (pode ser qualquer componente) de 5 elementos
         for (int cont = 0; cont < 5; cont++){     // Utilizamos o for para criar automaticamente os componentes (nesse caso, máximo 5)
                 teste[cont] = new JComboBox();                
                 this.add(teste[cont]);           // Adicionamos o novo componente na mesma tela que está sendo utilizada                              
                 teste[cont].setBounds(20, 100*cont, 80, 30);     // Aqui definimos a posição e tamanho. Coloquei o valor de Y (que se refere à posição vertical)  
                                                                   // multiplicando pelo contador, para não nascer no mesmo lugar, assim ficaria um embaixo do outro
         }

Comentei o código (coisa simples, mas pode ajudar alguém que está aprendendo).

Obrigado!

Criado 29 de outubro de 2012
Ultima resposta 29 de out. de 2012
Respostas 4
Participantes 2