Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probléme d' actionPerformed

Sujet résolu
    24 octobre 2008 à 15:33:46

    Bonjour à tous,

    Mon projet est composé de 3 classes : main.java
    import java.io.IOException;
    import javax.swing.UIManager;
    
    
    
    public class Main {
    
    	/**
    	 * @param args
    	 * @throws IOException 
    	 */
    	public static void main(String[] args) throws IOException {
            String ftpHostname = "serveur";
            String ftpUsername ="login";
            String ftpPassword ="mdp";
            String adresse = null;
    		
    		//Messages de connection
            try{  
    			UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
    		}
    		catch (Exception e) { 
    		}
    		
    		Fenetre fenetre = new Fenetre();
    		fenetre.getAdresse();
    
    
    		//Connexion SFTP
    	ConnectionSFTP connexion = new ConnectionSFTP(ftpHostname, ftpUsername, ftpPassword);
            connexion.creationFichiersSogeti(adresse);
            connexion.traitement();
            connexion.suppressionFichier();
    	}
    }
    


    Fenetre :
    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.File;
    import java.io.IOException;
    
    import javax.swing.JButton;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    
    public class Fenetre extends JFrame implements ActionListener{
    
    	private JFileChooser jFileChooser = null;
    	private String adresse; 
    	private JButton jButton;
    	private JPanel jPanel;
    
    
    	public Fenetre(){
    		super("Sélection Ficher Sogéti");
    		setSize(450,100); //taille
    	   	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//fermeture
    	   	this.setLocationRelativeTo(this.getParent());
    	   	
    	    jButton =  new JButton("Selectionner un fichier"); //nouveau bouton open
    	   	jButton.addActionListener(this);
    		
    	    BorderLayout bord = new BorderLayout();
    	   	
    	   	jPanel = new JPanel();
            jPanel.setLayout(bord);
            jPanel.add("Center", jButton);
            
           
            
            setContentPane(jPanel);
            setVisible(true);
    	}
    	
    	
    	
    	public void actionPerformed(ActionEvent evt) {	
    		try {
    			getJFileChooser();
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	 }
    	
    	public JFileChooser getJFileChooser() throws IOException{
    		jFileChooser = new JFileChooser();
    		jFileChooser.setApproveButtonText("OK");
    		jFileChooser.transferFocus();
    		jFileChooser.setVisible(true);
    		jFileChooser.setSelectedFile(new File("sogeti.txt"));
    		if (jFileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){	
    			adresse = (jFileChooser.getSelectedFile().getAbsolutePath())
    		}
    		return jFileChooser;
    	}
    	
    	public String getAdresse(){
    		return adresse;
    	}
    
    }
    


    et ConnexionSFT qui nous importe peu.

    Voilà, j'aimerais savoir comment puis-je faire pour que les traitements situés aprés le
    "//Connexion SFTP" du main ne s'effectuent qu'une fois le fichier sélectionner par l'utilisateur?
    Je sais qu'il suffirait de les mettres dans le getJFileChooser() comme je l'ai fait ci-dessous :
    public JFileChooser getJFileChooser() throws IOException{
    		jFileChooser = new JFileChooser();
    		jFileChooser.setApproveButtonText("OK");
    		jFileChooser.transferFocus();
    		jFileChooser.setVisible(true);
    		jFileChooser.setSelectedFile(new File("sogeti.txt"));
    		if (jFileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){	
    			adresse = (jFileChooser.getSelectedFile().getAbsolutePath());
    	        String ftpHostname = "serveur";
    	        String ftpUsername ="login";
    	        String ftpPassword = "mdp";
    			
    			ConnectionSFTP connexion = new ConnectionSFTP(ftpHostname, ftpUsername, ftpPassword);
    	        connexion.creationFichiersSogeti(adresse);
    	        connexion.traitement();
    	        connexion.suppressionFichier();
    		}
    		return jFileChooser;
    	}
    


    mais j'aimerai quelque chose d'un peu plus propre, que les traitements restent écrits en dur dans la classe Main (assez pointilleux je l'avoue :D ).
    Or je ne vois pas du tout comment faire :(

    Quelqu'un pourrait-il m'aider SVP? :)
    • Partager sur Facebook
    • Partager sur Twitter

    Probléme d' actionPerformed

    × 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