2013-02-09 3 views
0

Dans JFileChooser, lorsque j'essaie d'écraser un fichier, je veux que mon programme demande à l'utilisateur qu'il est sur le point de le faire.JFileChooser en tant que parent JDialog

Ceci doit être fait lorsque l'utilisateur appuie sur APPROVE_OPTION dans JFileChooser.

Cependant, je ne veux pas que JFileChooser se ferme instantanément, mais si un tel fichier existe déjà, affichez un JDialog qui, si l'utilisateur veut écraser, écrase, sinon ferme JDialog et retourne à JFileChooser. Je suis conscient que je peux, avant d'ouvrir le JDialog, enregistrer la condition JFileChooser et si l'utilisateur choisit de ne pas écraser, il suffit de recréer le JFileChooser entier en utilisant les informations que j'ai sauvegardées. Mais je me demandais s'il y avait un moyen plus facile. Y a-t-il?

Répondre

3

Vous devez pouvoir remplacer la méthode approveSelection().

final JFileChooser chooser = new JFileChooser(new File(".")) 
{ 
    public void approveSelection() 
    { 
     if (getSelectedFile().exists()) 
     { 
      System.out.println("Do You Want to Overwrite File?"); 
      return; 
     } 
     else 
      super.approveSelection(); 
    } 
}; 

Au lieu d'afficher le message, vous pouvez demander à l'utilisateur un JOptionPane. Si l'utilisateur accepte, vous appelez super.approveSelection();

+0

Merci, cela a fait l'affaire! – Karlovsky120

Questions connexes