2017-10-06 2 views
0

J'ai essayé d'utiliser JFileChooser mais j'ai le problème que le programme ne se limite pas en cours d'exécution, voici mon code:JFileChooser ne vous arrêtez pas en cours d'exécution

import java.io.File; 
import javax.swing.JFileChooser; 
import javax.swing.JFrame; 

public class copiarArcivos { 

    public static void main(String[] args) { 
     JFileChooser(); 
    } 

    public static void JFileChooser(){ 
     JFileChooser fileChooser = new JFileChooser(); 
     fileChooser.setCurrentDirectory(new File(System.getProperty("user.home"))); 
     int result = fileChooser.showOpenDialog(new JFrame()); 
     if (result == JFileChooser.APPROVE_OPTION) { 
      File selectedFile = fileChooser.getSelectedFile(); 
      System.out.println("Selected file: " + selectedFile.getAbsolutePath()); 
     } 
    } 
} 

Dois-je mettre simplement une pause au fin de l'if?

Répondre

2

Ne créez pas de JFrame vide. Vous pouvez simplement utiliser null:

//int result = fileChooser.showOpenDialog(new JFrame()); 
int result = fileChooser.showOpenDialog(null); 
+0

Merci, je pensais que vous en aviez besoin, mais il semble que j'avais tort. –

+0

En ce qui concerne l'argument de [JavaDoc] (https://docs.oracle.com/javase/7/docs/api/javax/swing/JFileChooser.html#showDialog (java.awt.Component,% 20java.lang. Chaîne)). Utilisé pour placer la fenêtre contextuelle par rapport à son parent. Null le met en rapport avec l'environnement. – Compass

1

Vous devez modifier le nom de méthode de JFileChooser dans la méthode principale. et aussi dans la déclaration de cette méthode. Vous pouvez utiliser JFileChooser2 instid de JFileChooser sur les deux.