IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

probleme de decoupage du code


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 179
    Par défaut probleme de decoupage du code
    Bonjour, j ' ai un petit problème de récupération de contenu d ' une arrayList
    Voila , celle ci contient 2 objets: un numéro et une dates que je récupère via une connexion sur un serveur.
    J arrive bien a remplir ma liste et a l afficher dans ma classe qui fait la connexion , mais je voudrai la récupérer dans une autre classe:plus précisément un modèle de jlist(pour remplir la jlist en question)

    je désire récupérer uniquement la liste sans faire de connexion a nouveau( ce qui logique car ca doit etre une autre classe qui est censé faire cela)


    Le principe est le suivant , j ai une jdialog qui demande a l user de rentrer les infos du serveur, une fois appuyer sur le bouton valider , la connexion s enclenche, recupere des infos dans une arrayList, et doit passer cette arrayList a la classe ListPersonnalises(modele de jlist) pour que celle ci puisse se remplir.

    Seulement je suis incapable de passer l arrayList , sans refaire de connexion
    Comment contourner ce probleme svp car mon code doit etre mal decoupe( je n arrive pas a separer la partie connexion de recuperation)

    mon Jdialog

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    public class InfosServeur extends JDialog{
     
     
    	    private String adresseImapServer = "129.227.81.96";
    	    private String user = "10000000007" , password = "7341784227032039938";
    	    private int port = 143;
    	    private JTextField adresseImapServerSaisi=new JTextField(adresseImapServer, 20),  portSaisi = new JTextField("" + port, 11), userSaisi= new JTextField(user, 20);;
    	    private JPasswordField passwordSaisi=new JPasswordField(password, 10);
    	    private String title;
    	    private ArrayList<Messages> messages = new ArrayList<Messages>();
    	    private ArrayList<String> dates = new ArrayList<String>();
    	  private Imap connexionImap=new Imap();
     
     
    	   public JPanel creerPanelBas()
    	   {
    		   JPanel panneauBas=new JPanel();
    		          JButton valider,annuler;
    		          valider = new JButton("Valider");
    		         valider.addActionListener(new ActionListener(){
     
    		  	        public void actionPerformed(ActionEvent event)
    		  	        {
    		  	        	setVisible(false);
    		  	        	creerConnexion();
    		  	        }
    		  	      });
     
    		          annuler = new JButton("Annuler");
    		          annuler.addActionListener(new ActionListener(){
    		  	        public void actionPerformed(ActionEvent event)
    		  	        {
    		  	          //dispose();
     
    		  	          System.exit(0);
    		  	        }
    		  	      });
    		         ;
     
    		          panneauBas = new JPanel();
    		          panneauBas.setLayout(new FlowLayout(FlowLayout.CENTER));
    		          panneauBas.add(valider);
    		          panneauBas.add(annuler);
    		        return panneauBas;
    	   }
     
     
     
      public void creerConnexion()
    	   {
     
    	        	try {
    	        		adresseImapServer = adresseImapServerSaisi.getText();
    	  	         	user = userSaisi.getText();
    	  	         	password = new String(passwordSaisi.getPassword());
    	  	         	port = Integer.parseInt(portSaisi.getText());
     
    					connexionImap.initialiserConnexion(user, password, adresseImapServer, port);
    					connexionImap.ouvrirBoiteMail("INBOX");
     
     
     
    				} catch (MessagingException e) {e.printStackTrace();}
    				  catch (IOException e) {e.printStackTrace();}
    			 //dispose();*/
    	          setVisible(false);
    	   }
     
    	   public ArrayList<Messages> recupererMessages()
    	   {
    		  // creerConnexion();
    		   boolean etat = false;
    		   for ( int i =0; i < connexionImap.nbMessage(); i++ ) {
    		          try {
    		        	  if(connexionImap.isRead(i)==true) etat=true;
    		        	  else if(connexionImap.isNew(i)==false) etat=false;
    					messages.add(new Messages(etat,connexionImap.recupererNumero(i).toString(),connexionImap.recupererDate(i).toString()));
     
    				} catch (MessagingException e) {e.printStackTrace();}
     
    		          System.out.println(messages);
     
    		        }
    		   try {
    			connexionImap.close();
    		} catch (MessagingException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
     
    		return messages;
     
    	   }
    mon modele de jlist
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    public class ListesPersonnalisesPanelAppel extends DefaultListModel{
    	private  ArrayList<Messages> messages= new ArrayList<Messages>();
    	private static  List <Messages> messagesSupprimes= new ArrayList<Messages>();
    	public ListesPersonnalisesPanelAppel()
    	{
     
    		messages=new InfosServeur().recupererMessages();// null pointer si je n effectue pas la connexion ici
    	}
    	@Override
     
    	public Object getElementAt(int index) {
    		// TODO Auto-generated method stub
    		return messages.get(index);
    	}
     
    	@Override
    	public int getSize() {
    		// TODO Auto-generated method stub
    		return messages.size();
    	}
    Merci de votre aide

  2. #2
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Salut,

    Plutot que faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public ListesPersonnalisesPanelAppel()
    	{
     
    		messages=new InfosServeur().recupererMessages();// null pointer si je n effectue pas la connexion ici
    	}
    utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public ListesPersonnalisesPanelAppel(InfosServeur info)
    	{
     
    		messages=info.recupererMessages();
    	}
    et passe l'instance que tu as crée précedemment (celle dont tu parles qui a deja etabli la connexion).

    a+

Discussions similaires

  1. Problème de génération du code java...
    Par nikalkal dans le forum Rational
    Réponses: 1
    Dernier message: 21/04/2006, 14h32
  2. [MySQL] Probleme requete sql et code html
    Par needles94000 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 16/03/2006, 17h38
  3. probleme d'insertion de code assembleur dans du c++
    Par Pragmateek dans le forum C++
    Réponses: 4
    Dernier message: 05/03/2006, 23h30
  4. Probleme avec un petit code (je debute)
    Par cladou dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 10/01/2006, 18h56
  5. Probleme en compilant le code avec C2.EXE ?!?!?
    Par angelevil dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 17/11/2005, 16h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo