private void installListeners() {
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                
            	String folderPath = MainWindow.this.getTextField().getText();
                File file = new File(folderPath);
                
                int modifiers = e.getModifiers();
                if ( StringUtils.equals("Valider" , e.getActionCommand()) && checkMod(modifiers, ActionEvent.CTRL_MASK)){
                	
                	buildValidationUriMsgPane(file);
                	
                }

                if (!file.exists()) {
                    MainWindow.this.buildInfoPanel("l'uri renseignée n'est pas valide");
                } else if (!file.isDirectory()) {
                    MainWindow.this.buildInfoPanel("l'uri renseignée ne désigne pas un repertoire");
                } else {
                    MainWindow.this.buildMainPanel(
                            FilesystemUtils.getFolderContent(file));
                }
            }
        });
        
        fileTreePane.getArbre().addTreeSelectionListener(new TreeSelectionListener(){

        	  public void valueChanged(TreeSelectionEvent event) {
        	    if(fileTreePane.getArbre().getLastSelectedPathComponent() != null){
        	      //La méthode getPath retourne un objet TreePath
        	      textField.setText(getAbsolutePath(event.getPath()));
        	    }
        	  }
        	         
        	  private String getAbsolutePath(TreePath treePath){
        	    String str = "";
        	    //On balaie le contenu de l'objet TreePath
        	    for(Object name : treePath.getPath()){
        	      //Si l'objet a un nom, on l'ajoute au chemin
        	      if(name != null && StringUtils.isNotEmpty(name.toString()))
        	        str += name.toString();
        	    }
        	    return str;
        	  }
        	}); 
        
    }