J'ai un Java application qui affiche une liste d'une base de données. Dans la classe est le code suivant pour ouvrir une nouvelle boîte de dialogue pour la saisie de données:
@Action
public void addNewEntry() {
JFrame mainFrame = ADLog2App.getApplication().getMainFrame();
addNewDialog = new AddNewView(mainFrame, true);
addNewDialog.setLocationRelativeTo(mainFrame);
addNewDialog.addContainerListener(null);
ADLog2App.getApplication().show(addNewDialog);
}
Comment ajoutez-vous un auditeur à la classe principale à détecter lorsque la fenêtre Addnewdialog est fermée, de sorte que je puisse appeler une méthode d'actualisation et rafraîchir la liste dans la base de données.
Si AddNewView
est un Window
tel que A Dialog
ou JDialog
, vous pouvez utiliser le window.addwindowstenner (...) . C'est-à-dire dans votre classe principale, vous faites
addNewDialog.addWindowListener(someWindowListener);
où someWindowListener
est un peu WindowListener
(par exemple A WindowAdapter
) qui remplace/implémentatnns windowClosed
.
Un exemple plus complet, en utilisant une classe anonyme, pourrait ressembler à
addNewDialog.addWindowListener(new WindowAdapter() {
@Override
public void windowClosed(WindowEvent e) {
refreshMainView();
}
});
Liens pertinents:
vous devez ajouter WindowListener et remplacement Fermeture de la fenêtre événement, si l'événement s'est produit, il suffit de retourner un drapeau, exemple ici