2016-02-17 1 views
1

J'ai une sous-fenêtre qui effectue une recherche sur une base de données. En cliquant sur le bouton "Sélectionner" sur la sous-fenêtre, je veux retourner les résultats de la recherche à la fenêtre d'appel ET rejeter la sous-fenêtre. Mon code fait cela très bien, mais, je me demandais s'il y avait une meilleure façon de rejeter la subwindow que ceci:Une meilleure façon de rejeter sous-fenêtre que la série de moulages?

((JDialog)((JPanel)(JButton)evt.getSource()).getParent()).getTopLevelAncestor()).dispose(); 

Répondre

1

L'étape intermédiaire d'obtenir le parent JPanel est pas nécessaire puisque JComponent définit getTopLevelAncestor():

((JDialog)((JButton)event.getSource()).getTopLevelAncestor()).dispose(); 

pour une meilleure lisibilité, vous pouvez également écrire:

SwingUtilities.getWindowAncestor((JButton)event.getSource()).dispose(); 
+0

Works pour moi. Je vous remercie! –