Interface avec netbeans

Fermé
ssss - Modifié par ssss le 18/11/2012 à 01:38
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 18 nov. 2012 à 02:07
Bonjour,



je travaille avec netbeans je fais la création d'une interface graphique.
j'ai un bouton qui parcours les fichiers de mon bureau , mais il n'ouvre pas aucun fichier .txt . je souhaiterais ouvrir un fichier txt et afficher son contenu dans un jTextArea .Est ce que qq peut m'aider

voici mon code :
private void jToggleButton2ActionPerformed(java.awt.event.ActionEvent evt) { 
        // TODO add your handling code here: 
        JFileChooser chooser= new JFileChooser(); 
        FileNameExtensionFilter ff = new FileNameExtensionFilter("Fichiers texte", "txt"); 
        //File f = new File("C:/Users/samir/Desktop");  
        //chooser.setCurrentDirectory(f); 
        //chooser.showOpenDialog(null); 
        int resultat = chooser.showOpenDialog(this); 

        if (resultat == JFileChooser.APPROVE_OPTION) 
{ 
     

//File f = new File("C:/Users/samir/Desktop");  
//chooser.setCurrentDirectory(f); 
File f = chooser.getSelectedFile(); 
try { 
    BufferedReader reader = new BufferedReader(new FileReader( 
      f)); 
    String line; 
    StringBuilder fileContent = new StringBuilder(); 
    while ((line = reader.readLine()) != null) { 
     fileContent.append(line).append("\n\r"); 
                                        jTextArea1.setLineWrap(rootPaneCheckingEnabled); 
     
    jTextArea1.getText();} 
   } catch (Exception e) { 
    JOptionPane.showMessageDialog(null, 
      "Impossible de lire ce fichier"); 
   }  
//jTextArea1.getText(); 
// suite du code... 
        //File f =chooser.getSelectedFile(); 
        //String Filename=f.getAbsolutePath(); 
        
        
} 
    } 
A voir également:

1 réponse

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
18 nov. 2012 à 02:07
A priori la seule chose qui manque c'est à la fin un
jTextArea1.setText(fileContent.toString());
Mais il y a pas mal de choses qui vont ralentir ton code, en particulier tu vas stocker deux fois le contenu du fichier en mémoire (dans le StringBuilder et dans le JTextArea), on peut faire mieux :

private void jToggleButton2ActionPerformed(ActionEvent evt)
{
    JFileChooser chooser = new JFileChooser();
    
    if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) 
    {
        jTextArea1.setText("");
        
        try
        {
            Scanner sc = new Scanner(chooser.getSelectedFile());
            
            while (sc.hasNextLine())
                jTextArea1.append(sc.nextLine()+"\n");
            
            sc.close();
        }
        catch (Exception e)
        {
            jTextArea1.append(e+"\n");
            for (StackTraceElement s : e.getStackTrace())
                jTextArea1.append("\tat "+s+"\n");
            e.printStackTrace();
        }
    }
}
0