Problème d'ordonnancement d'évènement
J'ai une fenêtre composée comme suit :
- en haut, une barre d'outils, avec des JButtons
- juste en dessous, sur toute la largeur de la fenêtre, un JLabel, qui contient le titre de la fenêtre affichée
- et sur le reste de la fenêtre, un JPanel (DYNAMIC), qui est mis à jour selon le clic.
Sur chaque bouton de la barre d'outils, j'ai un écouteur ActionListener :
Code:
1 2 3 4 5 6 7 8 9
|
jButton_ZONE.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
jLabel_TITRE.setText("Affichage d'une zone");
jPanel_DYNAMIC.removeAll();
jPanel_DYNAMIC.add(new zone());//zone est un objet de type JPanel
jPanel_DYNAMIC.repaint();
}
}); |
Donc, en toute logique, lors du clic sur le bouton ZONE, le label de titre doit changer de valeur, et le Panel DYNAMIC est vidé, puis rempli avec les éléments nécessaires.
Le problème, c'est qu'il faut faire 2 clics pour voir ces 2 actions réalisées...
En effet, lors du premier clic, le TITRE est mis à jour.
Puis, c'est seulement lors d'un second clic sur le même bouton que le JPanel DYNAMIC est mis à jour...
Pourquoi? Normalement, tout devrait être exécuté lors du même évènement..