2017-10-04 3 views
0

J'ai donc essayé de faire un filechooser qui ouvre un fichier texte, puis collez le contenu dans un JtextArea que j'ai défini comme textArea. Mais je ne peux pas obtenir mon showOpenDialog de ne pas donner une erreur tout en ayant l'argument (this), et j'ai recherché et la réponse était de remplir (null) et cela fait fonctionner le filechooser mais quand j'essaye d'en imprimer le contenu il retourne juste aussi null. J'utilise le programme Eclipse d'où le code automatique. Je suis assez nouveau à Java et n'ai aucune idée de ce qui ne va pas. Je suis vraiment désolé si ce n'est pas le moyen de poster des choses ici.ShowopenDialog ne fonctionne pas sous actionlistener

JButton btnNewButton = new JButton("Bladeren"); 
btnNewButton.addActionListener(
    new ActionListener() { 
     public void actionPerformed(ActionEvent e) { 
      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()); 
       String content = readFile(selectedFile, StandardCharsets.UTF_8); 
       System.out.println(content); 
       textArea.setText(content); 
      } 

     } 

     private String readFile(File selectedFile, Charset utf8) { 
      // TODO Auto-generated method stub 
      return null; 
     } 
    } 
); 

Répondre

0

Vous pouvez regarder dans le API que le paramètre doit être à partir du type Component. Alors qu'est-ce que this signifie dans votre exemple? Quelle autre classe/interface fait votre classe extends ou implements?

Vous n'avez pas collé le code de votre méthode readFile mais demandez pourquoi il renvoie null? De cette façon, nous ne pouvons pas vous aider alors s'il vous plaît poster le code.

+0

J'étais très bête et je n'ai pas trop regardé dans ma méthode readfile, merci de m'avoir signalé cela et cela m'a conduit dans la bonne direction et c'est corrigé maintenant merci beaucoup! – 221flo221