Adicionando JPanels através de um loop
Feito isso funcionar! Obrigado pessoal!
O código segue. eu useiBoxLayout
desde que eu pensei que seria ideal para o empilhamento de perguntas uma sobre a outra, mas agora eu tenho problemas com o layout ... Quando eu empilhei várias perguntas, os painéis de perguntas começaram a se sobrepor. Alguma ideia?
panels1 = new MultipleChoice[5];
setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));
for(int i=0; i<4; i++){
panels1[i]= new MultipleChoice();
panels1[i].setAlignmentX(CENTER_ALIGNMENT);
add(panels1[i]);
}
setVisible(true);
Eu estou trabalhando em projetar um applet de teste on-line.
Um teste tem questões de múltipla escolha e verdadeiro / falso. Para criar um teste, criei doisJPanel
classes, uma para a questão de múltipla escolha e uma para as perguntas verdadeiro / falso. Então, quando um teste é criado, vou adicionar dinamicamente esses painéis a umJPanel
contentor de acordo com o número não fixo de perguntas.
Primeiro, como posso adicionar dinamicamente novos painéis a um painel? Eu pensei em declarar uma matriz doJPanel
tipo. Eu criei e, em seguida, adicionar objetos desta classe de painel usando umfor
loop:
MultitipleChoicePanel[] PanelArray;
for (...){
PanelArray[i] = new MultipleChoicePanel();
containerpanel.add(PanelArray[i]);
}
Não sei se isso é tecnicamente possível.
Esta é a primeira vez que uso o Swing, e tentei fazer isso, mas obviamente não funcionou.
Alguém tem uma ideia de como adicionar dinamicamente esses painéis corretamente?
Em segundo lugar, qual dos gerenciadores de layout é mais adequado para o painel de contêineres a fim de se ajustar a cada novo painel adicionado logo abaixo do anterior?
Eu pensei em dinamicamente configurar umGridLayout
de uma coluna e adicionar linhas à medida que eu adiciono painéis. Mas eu tenho realmente lutado modificando balanços dinamicamente.
Alguma sugestão?
Muito obrigado pela sua ajuda!