2017-03-15 4 views
-1

File chooser UI implemented using jfilechooser in JAVA SWINGexception de pointeur nul en allant chercher le chemin du fichier de JFileChooser

En cliquant sur le bouton d'ouverture, je suis en train de chercher le chemin du fichier, y compris le nom de fichier que j'ai ouvert.

code:

private void jFileChooser1ActionPerformed(java.awt.event.ActionEvent evt) { 
    JFileChooser chooser=new JFileChooser(); 
    String path=chooser.getSelectedFile().getAbsolutePath();//error 
    System.out.println(path); 
}  

Mais je reçois une exception de pointeur NULL dans la ligne commentée (//errror).

Où est-ce que je me trompe?

+3

Avant le sélecteur est affiché à l'utilisateur, il ne sera pas *** *** avoir un fichier sélectionné (sauf si défini par le programmeur)! –

+0

lire les javadocs 'int returnVal = chooser.showOpenDialog (parent); if (returnVal == JFileChooser.APPROVE_OPTION) { System.out.println ("Vous avez choisi d'ouvrir ce fichier:" + chooser.getSelectedFile(). GetName()); } ' –

+1

Au lieu de créer une nouvelle instance' JFileChooser', vous devez obtenir le fichier sélectionné à partir de l'événement. – Filburt

Répondre

0

Vous devriez l'ouvrir au début!

Utilisez cet exemple de code:

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

merci, il fonctionne. Mais comment puis-je limiter cette action uniquement au bouton "Ouvrir" dans le sélecteur de fichier. –

+0

@ vikky2405: cela est déjà fait par la condition 'if (result == JFileChooser.APPROVE_OPTION)'. – Berger