Partage
  • Partager sur Facebook
  • Partager sur Twitter

apporter un fichier .txt dans mon JTextArea

Sujet résolu
    23 décembre 2008 à 22:19:17

    bonjour ,
    j'ai besoin d'aide je suis débutant
    mon programme est fait pour apporte des fichier .txt et les affiché dans un JTextArea ,mais le probleme est que je peut trouvé mon fichier facilement mais mon JTextArea est toujours vide voici le code:
    private void jButtonActionPerformed (java.awt.event.ActionEvent evt) {
    
             String txt=new String();
                                 d1.setDirectory("/tmp");
          					     d1.setVisible(true);
                                                   txt= d1.getFile();
                                                      //String lg = entree.readLine();
                                                  if(txt!=null)      
                                                  { try{ 
                                                	  j.setText("");
                                                         
                                                   BufferedReader entree =new BufferedReader(new FileReader(d1.getFile()));
                                                   
                                                    String lg = entree.readLine();
                                                    while (lg!=null){
                                                        j.append(lg+"\n");
                                                          lg = entree.readLine();
                                                    }
                                                  }
                                                      
                                                       catch( Exception e) { System.out.println(e.toString());}}
        }
    

    elle est ou l'erreur
    et merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      23 décembre 2008 à 23:07:08

      Bonjour,

      Es-tu sûr de bien appeler la méthode : jButtonActionPerformed ?
      Quel est le type de l'objet d1 (un FileDialog je pense ?) ?
      Si d1 est de type FileDialog, pourquoi appeler la méthode setDirectory maintenant ?
      Es-tu sûr de ne pas avoir une exception qui se déclenche ?
      Ton fichier contient-il du texte ?
      ...

      [EDIT]
      De plus la méthode getFile() te retourne le nom du fichier et non pas l'emplacement de celui-ci...
      • Partager sur Facebook
      • Partager sur Twitter
        23 décembre 2008 à 23:23:21

        en faite voici comment j'appel cette methode:
        item1.addActionListener(new java.awt.event.ActionListener() {
        				public void actionPerformed(java.awt.event.ActionEvent evt) {
        	                jButtonActionPerformed(evt);
        					
        				}				
        			});
        

        d: c'est de type FileDialog.
        • Partager sur Facebook
        • Partager sur Twitter
          23 décembre 2008 à 23:32:21

          Es-tu sûr de ne pas avoir d'exception ?
          Ton fichier contient-il des informations ?
          • Partager sur Facebook
          • Partager sur Twitter
            23 décembre 2008 à 23:54:16

            oui tout mes fichier contient des info ,en plus j'ai oublie de vous dir ,il y a message qui s'affiche dans la console :
            java.io.FileNotFoundException: analyseur.txt (Le fichier spécifié est introuvable)

            • Partager sur Facebook
            • Partager sur Twitter
              24 décembre 2008 à 0:12:07

              On appelle ça une exception ... qui rejoint donc damsdams75 : "De plus la méthode getFile() te retourne le nom du fichier et non pas l'emplacement de celui-ci..."
              • Partager sur Facebook
              • Partager sur Twitter
                24 décembre 2008 à 0:22:53

                tu veut dir que meme si je peut moi meme selectionner le fichier via la fenetre qui s'affiche ,tout cela ne m'aide pas a afficher le contenu de mes fichier dans un JTextArea.
                qu'elle la solution dans ce que ? ,que je doit faire ,je suis un peu perdu.
                pour tant ce meme code a été utilisé dans un autre programme ,et il a bien fonctionner, et j'utilise les rememe fichiers dans celui la il m'affiche rien et dans l'autre il recupère le fichier et il l'affiche.
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  24 décembre 2008 à 11:43:13

                  salut
                  essaye le code suivant
                  int r = chooser.showOpenDialog(new JFrame());
                     if (r == JFileChooser.APPROVE_OPTION) {
                       
                       String name=chooser.getSelectedFile().getAbsolutePath();	//ici je spécifie le chemin du fichier
                       } 
                  
                  
                  ..........................
                  
                    FileReader reader = null;
                    reader = new FileReader(name);//ici  je le lis
                  
                  //le reste du traitement
                  

                  • Partager sur Facebook
                  • Partager sur Twitter
                    25 décembre 2008 à 23:50:20

                    salut, je m'exuse pour le retard , la première partie de votre marche tres tres bien ,mais je sais pas pour quoi quand vous faite la lecture il me signal qu'il y a une erreur :
                    reader = new FileReader(name);//ici  je le lis
                    

                    il me dit pour cette ligne: this field compenent.name is not visible
                    j'ai essayé avec ce code:
                    BufferedReader reader =new BufferedReader(chooser.getSelectedFile().getAbsolutePath());
                    

                    meme chose sa marche pas.

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      26 décembre 2008 à 9:40:57

                      bonjour info.men

                      peux tu afficher ton code stp?
                      p8sq sans code je peux rien à dire

                      bonne journée
                      • Partager sur Facebook
                      • Partager sur Twitter
                        26 décembre 2008 à 11:04:41

                        bonjour voici tout mon code:
                        import java.awt.BorderLayout;
                        import java.awt.Color;
                        import java.awt.Dimension;
                        import java.awt.FileDialog;
                        import java.awt.Font;
                        import java.awt.Rectangle;
                        import java.awt.event.ActionEvent;
                        import java.awt.event.ActionListener;
                        import java.io.BufferedReader;
                        import java.io.File;
                        import java.io.FileReader;
                        import java.io.Reader;
                        
                        import javax.swing.ButtonGroup;
                        import javax.swing.JButton;
                        import javax.swing.JDialog;
                        import javax.swing.JFileChooser;
                        import javax.swing.JFrame;
                        import javax.swing.JLabel;
                        import javax.swing.JMenu;
                        import javax.swing.JMenuBar;
                        import javax.swing.JMenuItem;
                        import javax.swing.JOptionPane;
                        import javax.swing.JPanel;
                        import javax.swing.JProgressBar;
                        import javax.swing.JScrollPane;
                        import javax.swing.JTextArea;
                        import javax.swing.JTextField;
                        
                        
                        
                        
                         
                        public class Fenetre extends JFrame {
                        	/*les attributs*/
                              ////////////////////////////////////////////////////////////////////
                              /*les boutons*/
                        	private Bouton bouton1 = new Bouton("   Analyse Lexicale");
                        	private Bouton bouton2 = new Bouton("Analyse Syntaxique");
                        	private Bouton bouton3 = new Bouton("Table des Symboles");
                        ////////////////////////////////////////////////////////////////////
                        	private Dimension dim = new Dimension(147,33);
                        	Font police = new Font("Calibri", Font.BOLD,13);
                        ////////////////////////////////////////////////////////////////////	
                            //Instanciation d'un objet JPanel
                        	private JPanel pan = new JPanel();
                        ////////////////////////////////////////////////////////////////////	
                        ////////////////////////////////////////////////////////////////////
                        /*zone de texte*/
                            public JTextArea  j=new JTextArea();
                            
                        ////////////////////////////////////////////////////////////////////
                            private JProgressBar  j1=new JProgressBar();
                        ////////////////////////////////////////////////////////////////////
                              /*bar de menu*/
                        	private JMenuBar menuBar = new JMenuBar();
                        ////////////////////////////////////////////////////////////////////
                        /*menu et sous menu*/
                        	private JMenu test1 = new JMenu("Fichier");
                        	private JMenu test2 = new JMenu("Edition");
                        	private JMenu test5 = new JMenu ("Debug");
                        	private JMenu test3 = new JMenu("Affichage");
                        	private JMenu test4 = new JMenu("?");
                        		
                        	private JMenuItem item1 = new JMenuItem("Ouvrir");
                        	private JMenuItem item2 = new JMenuItem("Nouveau");
                        	private JMenuItem item4 = new JMenuItem("Fermer");
                        	
                        	private JMenuItem item5 = new JMenuItem("Couper                     Ctrl+X");
                        	private JMenuItem item6 = new JMenuItem("Copier                      Ctrl+C");
                        	private JMenuItem item7 = new JMenuItem("Coller                       Ctrl+S");
                        	private JMenuItem item8 = new JMenuItem("Selectionner tout  Ctrl+A");
                        	
                        	private JMenuItem item9 = new JMenuItem("Compilation complète");
                        	private JMenu item10 = new JMenu("Compilation détailler");
                        	private JMenuItem item13 = new JMenuItem("Analyse lexicale");
                        	private JMenuItem item14 = new JMenuItem("Analyse syntaxique");
                        	
                        	private JMenuItem item11 = new JMenuItem("Table des symboles ");
                        	private JMenuItem item12 = new JMenuItem("A propos de... ");
                        	
                        	//FileDialog d1 = new FileDialog(this, "Ouvrir", FileDialog.LOAD);
                        ////////////////////////////////////////////////////////////////////
                        	/*gouper les sous des sous menu*/
                        	private ButtonGroup bg = new ButtonGroup();
                        ////////////////////////////////////////////////////////////////////
                        	
                        	JLabel label2 = new JLabel("Journal des erreurs:");
                        ////////////////////////////////////////////////////////////////////
                        	/*notre accesseur*/
                        	public Fenetre(String titre){
                        		
                        		
                        		//Définit un titre pour votre fenêtre
                                this.setTitle(titre);
                                //Définit une taille pour celle-ci ; ici, 500 px de large et 500 px de haut
                                this.setSize(500,500);
                                //Nous allons maintenant dire à notre objet de se positionner au centre
                                this.setLocationRelativeTo(null);
                                //nous allons maintenant spécifier où doit se situer votre fenêtre sur notre écran
                                //this.setLocation(0,10); 
                                //Ferme-toi lorsqu'on clique sur "Fermer" !
                                this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                                 //Faire que votre fenêtre soit toujours au premier plan
                                this.setAlwaysOnTop(false);
                                //Retirer les contours et les boutons de contrôles
                                this.setUndecorated(false);
                                //desactivé le bouton agrandir la fenetre
                                this.setResizable(false);
                                
                                this.setLayout(null);
                        
                                //Définition de sa couleur de fond
                                 pan.setBackground(Color.LIGHT_GRAY);
                                 
                                 
                                
                              //On initialise nos menus
                        		//--------------------------
                                this.test1.setFont(police);
                                this.item1.setFont(police);
                                item1.addActionListener(new java.awt.event.ActionListener() {
                        				public void actionPerformed(java.awt.event.ActionEvent evt) {
                        	                jButtonActionPerformed(evt);
                        					//FileFilterDemo file=new FileFilterDemo();
                        				}				
                        			});
                        		this.test1.add(item1);
                        		
                        
                        		
                        		this.item2.setFont(police);
                        		item2.addActionListener(new ActionListener(){
                        			public void actionPerformed(ActionEvent e) {
                        				j.setText("");
                        				}				
                        			});
                        		
                        		////////////////////////////////////////////////
                        		/*menu fermer*/
                        		item4.addActionListener(new ActionListener(){
                        			public void actionPerformed(ActionEvent arg0) {
                        				System.exit(0);
                        			}				
                        		});
                        		///////////////////////////////////////////////
                        		
                        		this.test1.add(item2);
                        		//Ajout d'un séparateur
                        		this.test1.addSeparator();
                                
                        		this.item4.setFont(police);
                        		this.test1.add(item4);
                        		
                        		this.test2.setFont(police);
                        		this.item5.setFont(police);
                        		item5.addActionListener(new ActionListener(){
                        			public void actionPerformed(ActionEvent e) {
                        				j.cut();
                        				
                        				}				
                        			});
                        		this.test2.add(item5);
                        		this.item6.setFont(police);
                        		item6.addActionListener(new ActionListener(){
                        			public void actionPerformed(ActionEvent e) {
                        				j.copy();
                        				}				
                        			});
                        		this.test2.add(item6);
                        		this.item7.setFont(police);
                        		item7.addActionListener(new ActionListener(){
                        			public void actionPerformed(ActionEvent e) {
                        				j.paste();
                        				}				
                        			});
                        		this.test2.add(item7);
                        		this.item8.setFont(police);
                        		item8.addActionListener(new ActionListener(){
                        			public void actionPerformed(ActionEvent e) {
                        				j.selectAll();
                        				}				
                        			});
                        		this.test2.add(item8);
                        		
                        		this.test5.setFont(police);
                        		this.item9.setFont(police);
                        		this.test5.add(item9);
                        		this.item10.setFont(police);
                        		this.test5.add(item10);
                        		
                        		this.test3.setFont(police);
                        		this.item11.setFont(police);
                        		this.test3.add(item11);
                        		
                        		this.test4.setFont(police);
                        		this.item12.setFont(police);
                        		item12.addActionListener(new ActionListener(){
                        			public void actionPerformed(ActionEvent e) {
                        			Fenetre2 f2=new Fenetre2();
                        			}				
                        		});
                        		
                        		this.test4.add(item12);
                        		
                        		this.item13.setFont(police);
                        		bg.add(item13);
                        		this.item14.setFont(police);
                        		bg.add(item14);
                        		item10.add(item13);
                        		item10.add(item14);
                        
                        			
                                        //L'ordre d'ajout va déterminer l'ordre d'apparition dans le menu de gauche à droite
                                        //Le premier ajouté sera tout à gauche de la barre de menu et inversement pour le dernier
                        			this.menuBar.add(test1);
                        			this.menuBar.add(test2);
                        			this.menuBar.add(test5);
                        			this.menuBar.add(test3);
                        			this.menuBar.add(test4);
                        			//-------------------------
                        			
                        			this.setJMenuBar(menuBar);
                        
                                
                                //Ajout du bouton à notre contentPane
                                bouton1.setPreferredSize(dim);
                                bouton1.setFont(police);
                                pan.add(bouton1);
                                
                                bouton2.setPreferredSize(dim);
                                bouton2.setFont(police);
                                pan.add(bouton2);
                                
                                bouton3.setPreferredSize(dim);
                                bouton3.setFont(police);
                                pan.add(bouton3);
                                
                                
                              
                                j.setFont(police);
                                j.setPreferredSize(new Dimension(450,220));
                                j.setForeground(Color.black);
                                pan.add(j);
                               
                                JScrollPane jScrollPane1 = new JScrollPane();
                                jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
                                jScrollPane1.setVerticalScrollBarPolicy(javax.swing.JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
                                j.setFont(new java.awt.Font("Tahoma", 1, 12));
                                jScrollPane1.setViewportView(j);
                        
                                getContentPane().add(jScrollPane1);
                                jScrollPane1.setBounds(40, 90, 360, 200);
                                pan.add(jScrollPane1);
                                
                                label2.setFont(police);
                                pan.add(label2);
                                
                                j1.setFont(police);
                                j1.setPreferredSize(new Dimension(464,110));
                                j1.setForeground(Color.BLUE);
                                pan.add(j1);
                        	
                                
                                //On prévient notre JFrame que ce sera notre JPanel qui sera son contentPane
                                this.setContentPane(pan);
                                
                                this.setVisible(true);
                         
                        	}
                        	private void jButtonActionPerformed (java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
                        		JFileChooser chooser = new JFileChooser();
                        	    /*chooser.setCurrentDirectory(new File("."));
                        
                        	    chooser.setFileFilter(new javax.swing.filechooser.FileFilter() {
                        	      public boolean accept(File f) {
                        	        return (f.getName().toLowerCase().endsWith(".txt"))
                        	            ||( f.isDirectory());
                        	      }
                        
                        	      public String getDescription() {
                        	        return ".txt";
                        	      }
                        	    });
                        */
                        	    int r = chooser.showOpenDialog(new JFrame());
                        	    if (r == JFileChooser.APPROVE_OPTION) {
                        	      //String name = chooser.getSelectedFile().getName();
                        	      String name=chooser.getSelectedFile().getAbsolutePath();	//ici je spécifie le chemin du fichier
                        	      System.out.println(name);
                        
                        	       
                        	    }
                        
                        	  FileReader reader = null;
                        	    String name1 = chooser.getSelectedFile().getName();
                        	    System.out.println(name1);
                        	    
                        	   // reader = new FileReader(chooser.getSelectedFile().getAbsolutePath());   //ici  je le lis
                        	    // BufferedReader reader = new BufferedReader(new FileReader(name));
                        	  //  BufferedReader entree1 =new BufferedReader(new FileReader(name1));
                        	    //if(entree1!=null)  
                        	    { try{ 
                        	        j.setText("");
                        	           
                        	      BufferedReader entree =new BufferedReader(new FileReader(name1));
                        	     
                        	        String lg = entree.readLine();
                        	        System.out.println(lg);
                        	        while (lg!=null){
                        	          j.append(lg+"\n");
                        	            lg = entree.readLine();
                        	                        }
                        	        entree.close();
                        	        
                        	        System.out.println(lg);
                                   // j.setText(lg);
                        	                                              }
                        	                                                  
                        	                                                   catch( Exception e) { System.out.println(e.toString());}}
                            }
                         
                        }
                        


                        mon problème au niveau de menu ouvrir =>la methode jButtonActionPerformed .
                        merci
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          26 décembre 2008 à 12:14:26

                          re-bonjour
                          voyant que t'as fait ton boulot, il te manque seulement des p'tit truc à faire ,je te propose une solution et à toi tjrs de la modifier suivant tes besoins
                          import java.awt.BorderLayout;
                          import java.awt.Color;
                          import java.awt.Container;
                          import java.awt.Font;
                          import java.io.File;
                          import java.io.FileNotFoundException;
                          import java.io.FileOutputStream;
                          import java.io.FileReader;
                          import java.io.IOException;
                          
                          import javax.swing.JFileChooser;
                          import javax.swing.JFrame;
                          import javax.swing.JPanel;
                          import javax.swing.JScrollPane;
                          import javax.swing.JTextArea;
                          import javax.swing.text.JTextComponent;
                          
                          public class FileFilterDemo extends JFrame{
                                  JFileChooser chooser = new JFileChooser();
                                  File file;
                                  FileReader fr;
                                  String name;
                                  JTextComponent textComp;
                                  JPanel pan=new JPanel();
                                  private final JPanel container3 = new JPanel();
                          	private final JPanel panelAide = new JPanel();
                          	JFrame Aide= new JFrame();
                          	public FileFilterDemo() throws FileNotFoundException {
                          
                          	Aide.setTitle("Aide");
                          	Aide.setSize(400, 400);		
                          	Aide.setLocationRelativeTo(null);       
                                  container3.setBackground(Color.white);      
                                  panelAide.setLayout(new BorderLayout());
                                  textComp = createTextComponent();
                                  JScrollPane scrol1 = new JScrollPane(textComp);
                          
                                  chooser.setCurrentDirectory(new File("."));
                          
                                  chooser.setFileFilter(new javax.swing.filechooser.FileFilter() {
                                  	public boolean accept(File f) {
                                  		return f.getName().toLowerCase().endsWith(".txt")
                                  		|| f.isDirectory();
                                  	}
                                 
                                  	public String getDescription() {
                                  		return "fichier text ";
                                  	}
                                  });
                          
                             int r = chooser.showOpenDialog(new JFrame());
                             if (r == JFileChooser.APPROVE_OPTION) {
                               
                                name=chooser.getSelectedFile().getAbsolutePath();	//ici je specifie le chemin du fichier
                               }
                                
                          			 FileReader reader = null;
                          		       
                          		        try {
                          		          reader = new FileReader(name);// je li le fichier 		          		       
                          		          textComp.read(reader,null);
                          		        } catch (IOException ex) {
                          		        	ex.printStackTrace();
                          		        } 
                          		        finally {
                          		          if (reader != null) {
                          		            try {
                          		              reader.close();
                          		            } catch (IOException x) {
                          		            	
                          		            }}
                          		          }
                               
                              panelAide.add(scrol1);
                           
                              container3.setLayout(new BorderLayout());	          	            
                              container3.add(panelAide,null);
                              Aide.getContentPane().setLayout(new BorderLayout());            
                              Aide.setContentPane(container3);           	            
                              Aide.setVisible(true); 
                              Aide.setAlwaysOnTop(true);
                              }
                          protected JTextComponent createTextComponent() {
                          	    JTextArea test = new JTextArea();
                          	    test.setLineWrap(true);
                          	    return test;}
                          
                          	    public static void main(String[] args) throws FileNotFoundException {
                          	    	
                          	    	FileFilterDemo Test=new FileFilterDemo();
                          }}
                          

                          bonne chance
                          • Partager sur Facebook
                          • Partager sur Twitter
                            26 décembre 2008 à 20:40:07

                            salut, en faite j'ai trouvé l'erreur, la programmme que je vous est donnée le tout premmier etait juste, il suffit seulement que mon fichier soit a la racine du projet et tout marche normalement .
                            je vous remercie tous pour vos efforts et déselé ,car je vous é fatigué avec moi.
                            • Partager sur Facebook
                            • Partager sur Twitter

                            apporter un fichier .txt dans mon JTextArea

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown