Salut,

J'ai corrigé pas mal de deadlocks que j'avais dans mon appli (faut dire j'avais pas hésité sur les synchronized), mais là je tombe sur un problème très étrange... Ca ressemble à un deadlock, le programme plante et se fige, mais, comment est-ce possible?

Voici un code d'une méthode d'une classe héritant de JTabbedPane:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
public void method(Component component) {
    System.out.println("edt : " + SwingUtilities.isEventDispatchThread());
    add(component);
    System.out.println("added");
}
Le résultat est:
Et c'est figé...

Comment la méthode add(component) peut-être créer un deadlock à elle toute seule?

Vous avez une idée?

PS: ça ne le fait que dans un contexte très particulier, mais je ne vois pas comment c'est possible que add(component) bloque quoi que ce soit...