2010-04-28 6 views
0

J'ai créé un JDialog à ouvrir lorsque je clique sur le bouton Modifier de mon JFrame, il est ouvert correctement et n'a aucun problème, mais quand j'ai pris ce code sur le périphérique windows 5.0 ce dialogue est ouvert deux fois. Je clique seulement une fois sur le bouton d'édition mais la boîte de dialogue apparaît deux fois, je veux qu'il n'y ait qu'une seule boîte de dialogue sur le bouton d'édition.javax.swing.JDialog apparaît deux fois sur le périphérique Windows

+0

On dirait que vous avez un deuxième appel quelque part. Pouvez-vous nous en dire plus sur les différences entre les environnements testés et peut-être afficher du code? – Ham

+0

il n'y a aucun autre appel à la boîte de dialogue, le problème est sur le périphérique que sur mon bureau il fonctionne comme prévu mais quand je mets le pot de ce code sur le périphérique WinCE, il est montré deux fois. –

+0

J'utilise ListSelectionListener, quand je clique sur un élément de la liste, la méthode valueChanged (ListSelectionEvent e) est invoquée dans cette méthode j'ai affiché jdialog, mais sur le périphérique cette méthode est appelée deux fois. –

Répondre

0

ok j'ai la solution

public void valueChanged(ListSelectionEvent e) { 
    if (e.getValueIsAdjusting() == false) { 
     List lsm = (List) e.getSource(); 
     showDialog(); 
     lsm.clearSelection(); 
    } 
} 
+0

Code reformaté; s'il vous plaît revenir si incorrect. – trashgod

+0

Le prédicat '! E.getValueIsAdjusting()' est une alternative courante à 'e.getValueIsAdjusting() == false'. – trashgod

Questions connexes