2017-10-17 22 views
0

J'ai créé 4 JFrames différents ayant chacun un bouton de sortie.Comment quitter le cadre parent/ancêtre sur le clic de la nouvelle image

  • Au clic du bouton de sortie il y a un nouveau cadre qui demande - Etes-vous sûr?. Il y a les boutons: Oui & Non
  • Au clic de oui Je veux fermer le courant ainsi que l'image à partir de laquelle l'appel est généré.

Pour fermer image actuelle que j'utilise

closeOptionPane.this.dispose(); 

Mais comment puis-je fermer le cadre ancêtre ou d'un parent?

Répondre

1

Lorsque vous cliquez sur le bouton Quitter, un nouveau cadre vous demande - Êtes-vous sûr?

Ceci ne devrait PAS être un JFrame. Cela devrait être un JOptionPane. Un JOptionPane se ferme automatiquement lorsque vous cliquez sur ses boutons. Pour plus d'informations et d'exemples, voir How to Make Dialogs.

chacun a le bouton de sortie,

Alors vous devez ajouterez un ActionListener au bouton. Donc, le code de base dans l'écouteur d'action serait quelque chose comme:

int result = JOptionPane.showConfirmDialog(...); 

if(result == JOptionPane.YES_OPTION) 
{ 
    JButton button = (JButton)event.getSource(); 
    Window window = SwingUtilities.windowForComponent(button); 
    window.dispose(); 
}