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 :

Problème modification objet


Sujet :

Java

  1. #1
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Points : 1 667
    Points
    1 667
    Par défaut Problème modification objet
    Bonjour, j'ai un problème pour pouvoir modifié mon objet, je vous explique:

    J'ai 5 fichiers:
    - PopClient.java
    - ManagerPopClientGUI.java
    - Interface.java
    - Menu.java
    - Dele.java

    Mon projet (projet de cours, je suis étudiant) est un serveur pop en local qui quand on se connecte dessus, on peut soit lire les messages, les supprimer, les réinitialiser, ...

    Dans mon fichier ManagerPopClientGUI.java, je créé un objet de type Interface donc à partir de ce moment là, j'appelle mon interface où l'on rentre ses logs (user, mot de passe, host et port) pour se connecter, une fois que tout es bien rentré, je créé un nouvel objet de type PopClient avec en paramètre, l'host et le port et j'appelle en même temps un nouvel objet(interface) de type Menu.

    Sur ce menu, on a donc le choix de ce que l'on veut faire à notre serveur pop, soit consulter les messages, en supprimant, etc..

    Par exemple si on clique sur le bouton pour supprimer un message, on créé encore un objet de type Dele (Dele deleFenetre = new Dele(); ) et c'est là qu'il y a un problème, je voudrais savoir comment fair epour pouvoir continuer à utiliser mon objet pop de type PopClient dans cette fenêtre parce que l'on me dit qu'il n'est pas déclaré "pop cannot be resolved" donc ca m'embête un peu..

    Comment je peux faire s'il vous plaît?

  2. #2
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Points : 1 667
    Points
    1 667
    Par défaut
    up svp

  3. #3
    Rédacteur/Modérateur
    Avatar de Metafire18
    Homme Profil pro
    Ingénieur de recherche Orange Labs
    Inscrit en
    Décembre 2007
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur de recherche Orange Labs

    Informations forums :
    Inscription : Décembre 2007
    Messages : 777
    Points : 1 894
    Points
    1 894
    Billets dans le blog
    1
    Par défaut
    Tu peux ajouter un paramètre de type PopClient au constructeur de la classe Dele. Ainsi, quand tu construiras ta fenêtre, tu pourras lui préciser sur quel objet Pop le delete s'applique
    Je ne sais pas si il y a des méthodes plus propre que celle ci mais ca fonctionne très bien quoiqu'il en soit

  4. #4
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Points : 1 667
    Points
    1 667
    Par défaut
    J'ai donc rajouté un paramètre PopClient dans ma class Dele(), ce qui donne ça:

    public class Dele extends JFrame implements ActionListener{




    public Dele(PopClient pop)
    {
    ....
    }
    Sauf que mon objet pop est toujours souligné en rouge..

    J'ai donc pensé à mettre PopClient pop en arguments dans mon init() qui donne:

    private void init(PopClient pop)
    {
    ...
    }
    mes pop ne sont plus soulignés mais dans la class de mon constructeur, c'est this.init(); qui l'est dans la class de mon constructeur..

  5. #5
    Rédacteur/Modérateur
    Avatar de Metafire18
    Homme Profil pro
    Ingénieur de recherche Orange Labs
    Inscrit en
    Décembre 2007
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur de recherche Orange Labs

    Informations forums :
    Inscription : Décembre 2007
    Messages : 777
    Points : 1 894
    Points
    1 894
    Billets dans le blog
    1
    Par défaut
    Tu as bien rajouté un attribut de type PopClient à ta classe Del?

  6. #6
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Points : 1 667
    Points
    1 667
    Par défaut
    Voilà ce que j'ai fais:

    public class Dele extends JFrame implements ActionListener{

    PopClient pop;

    public Dele(PopClient pop)
    {
    ...
    }
    Donc j'ai bien rajouter un paramètre de type PopClient à mon constructeur de ma class Dele() et également un attribut de type PopClient à ma class Dele() mais le problème est que maintenant quand je veux créer un objet de type Dele et que je fais Dele fenetreDele = new Dele();, mon new Dele(); est souligné parce que le constructeur Dele() est indéfinit et quand j'instancie de cette façon: Dele fenetreDele = new Dele(PopClient pop); et voilà ce que j'ai comme message d'erreur:

  7. #7
    Rédacteur/Modérateur
    Avatar de Metafire18
    Homme Profil pro
    Ingénieur de recherche Orange Labs
    Inscrit en
    Décembre 2007
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur de recherche Orange Labs

    Informations forums :
    Inscription : Décembre 2007
    Messages : 777
    Points : 1 894
    Points
    1 894
    Billets dans le blog
    1
    Par défaut
    Effectivement, si tu as appelles le constructeur de la classe Del sans paramètre, il est normal que ca plante car aucun constructeur de ta classe ne répond à cette signature

    Tu instancies ton objet Del dans la classe PopClient non?

Discussions similaires

  1. [eZ Publish] Problème modification d'objet
    Par beicdpt dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 30/01/2013, 17h04
  2. Probléme modification objet Application
    Par darkey69 dans le forum ASP
    Réponses: 1
    Dernier message: 23/01/2009, 16h59
  3. Problème programmation objet
    Par Contrec dans le forum MFC
    Réponses: 54
    Dernier message: 30/03/2005, 12h30
  4. Problème d'objet attendu
    Par odelayen dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 22/02/2005, 11h27
  5. [VB6] Modification objet OLE dans Word sous VB
    Par zworg dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/02/2004, 09h20

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