Création dynamique de Composants - Problème de rafraichissement
Bonjour,
Je crée des JComboBox et des JTextField dynamiquement lorsque je change la valeur de mon JComboBox
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
// class extends JFrame
private ArrayList _listComposants;
private JComboBox _firstCombo;
private JTextField _firstText;
private JScrollPane _compositionScPane;
private JPanel _compositionPane;
public Constructeur(){
_firstCombo = new JComboBox();
_firstText = new JTextField();
_listComposants = new ArrayList();
//remplissage de _firstCombo
_listComposants.add(_firstCombo);
_listComposants.add(_firstText);
refreshComposants();
Container contentPane = this.getContentPane();
contentPane.setLayout(new BorderLayout());
contentPane.add(_compositionScPane,BorderLayout.EAST);
this.setSize(600, 430);
_firstCombo.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent e) {
if(e.getStateChange() == ItemEvent.SELECTED) {
JComboBox _aCombo = new JComboBox();
JTextField _aText = new JTextField();
for(int i = 0; i<_listComboBoxDesignation.size() ; i++){
//remplissage de ma JComboBox
_aCombo.addItem(_listComboBoxDesignation.get(i));
}
_listComposants.add(_aCombo);
_listComposants.add(_aText);
refreshComposants();
}
}
});
}
/**
* Rafraichi l'affichage des ComboBox
*/
private void refreshComposants(){
_compositionPane= new JPanel();
_compositionPane.setLayout(new GridLayout((_listComposants.size()/2),2));
for(int i = 0;i<(_listComposants.size()/2);i++){
_compositionPane.add((JComboBox) _listComposants.get(i));
i++;
_compositionPane.add((JTextField) _listComposants.get(i));
}
_compositionScPane = new JScrollPane(_compositionPane);
_compositionPane.paintAll(_compositionPane.getGraphics());
_compositionPane.repaint();
this.paintAll(this.getGraphics());
this.repaint();
} |
Le probleme est que ceci ne marche pas du tout, quand je sélectionne un Item parmi ma première JComboBox alors tout mon panneau contenant mes JComboBox et mes JTextField s efface ...
Si quelqu'un a une idée pour rafraichir correctement mon panneau ca serait sympa !