Bonjour à tous,
Ce matin, je suis tombé sur un article intéressant sur le debugging de Swing. Qui parle notamment des problèmes liés au "viol" de l'EDT.
J'ai rapidement mis la solution en place pour constater que certaines de mes actions bloquaient l'EDT. En analysant la chose, je me suis rendu compte que ce blocage se faisait sur l'affichage d'un JDialog modal.
J'ai tenté de corriger la chose avec SwingWorker ainsi qu'avec SwingUtilities mais rien n'y fait. l'affichage de ma JDialog bloque toujours l'EDT. Je me tourne donc vers vous pour m'expliquer pourquoi elle se produit et comment l'éviter.
Le code en cause est le suivant :
Merci à vous.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public class AddItemPanel extends JPanel { ... // Dans la construction du panel add(new JButton(new InternalAddAction()); .. private class InternalAddAction extends AbstractAddAction { @Override public void actionPerformed(ActionEvent e) { // Creation d'un JDialog modal avec ma JFrame principale comme parent JDialog dialog = new JDialog(getMainFrame(), true); dialog.setVisible(true); } } }



Répondre avec citation
Partager