Checkboxs não estão sendo exibidos na tela

2 respostas
M

Olá guj.
Estou com um probleminha aqui no projeto da faculdade, e vim pedir uma ajuda para vocês.

Para cada aluno eu preciso de um checkbox que será a indicação da presença ou não do mesmo na aula,
mas não estou conseguindo exiibir os checkboxs na janela. Como vocês podem ver no código abaixo
eu utilizo um laço que percorre todos os alunos e crio um checkbox com o nome do mesmo, gravando-o no array e adicionando ao Frame.
mas não estou conseguindo adicionar ao frame. Ou estou conseguindo mas não tem espaço suficiente ?
Me deem uma idéia.

Código:
public class CadastrarAulaDialog extends JDialog {

	private ArrayList<JCheckBox> cbPresenca;
        private ArrayList<Aluno> alunos;
        private JPanel painel;

	public CadastrarAulaDialog(RaizDisciplinaFrame parent, boolean modal) {
		super(parent, modal);
                Container contentPane = getContentPane();
                contentPane.setLayout(new FlowLayout());
                
                // obtem a lista de alunos da turma
                this.alunos =(ArrayList<Aluno>) parent.getDisciplinaEscolhida().getTurma().getAlunos();
		cbPresenca = new ArrayList<JCheckBox>();
                
                // criar checkbox para cada aluno
                for (int i = 0; i < alunos.size()-1; i++) {              
                
                    JCheckBox cb = new JCheckBox(alunos.get(1).toString());
                    cbPresenca.add(cb) ;
                    contentPane.add(cb);
                    
                }
                this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
                pack();
	}
}

Obrigado

2 Respostas

Rummenigge

Tente assim :

public class  CadastrarAulaDialog extends JDialog {  
     
       private ArrayList<JCheckBox> cbPresenca;  
           private ArrayList<Aluno> alunos;  
           private JPanel painel;  
     
       public CadastrarAulaDialog(RaizDisciplinaFrame parent, boolean modal) {  
           super(parent, modal);  
                   Container contentPane = getContentPane();  
                   contentPane.setLayout(new FlowLayout());  
                     
                   // obtem a lista de alunos da turma  
                   this.alunos =(ArrayList<Aluno>) parent.getDisciplinaEscolhida().getTurma().getAlunos();  
           cbPresenca = new ArrayList<JCheckBox>();  
                     
                   // criar checkbox para cada aluno  
                   for (int i = 0; i < alunos.size(); i++) {                
                     
                       JCheckBox cb = new JCheckBox(alunos.get(i).toString());  
                       cbPresenca.add(cb) ;  
                       contentPane.add(cb);  
                       //Repinta o container e exibe os componentes dentro dele
                       contentPane.repaint();
                   }  
                   this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);  
                   pack();  
       }  
   }
M

[Tópico Resolvido]
Obrigado pela ajuda.
Mas eu fiz de um jeito diferente, setei o layout do frame para null, e utilizando o setBounds de cada componente selecionava o local desejado para a sua posicao no frame.

Criado 10 de dezembro de 2010
Ultima resposta 14 de dez. de 2010
Respostas 2
Participantes 2