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

Langage Java Discussion :

Methode non statiques et contexte statiques.


Sujet :

Langage Java

  1. #1
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 197
    Points : 64
    Points
    64
    Par défaut Methode non statiques et contexte statiques.
    Bonsoir,

    Je tiens a prévenir que je suis passé par le TOPIC débutant... mais j'ai pas compris mon erreur.

    Je suis debutant, et je dois coder un chat. J'utilise Netbeans..

    Bref, j'ai crée un interface client avec un JTextPane (liste_messages) qui affiche les messages des connectés : Class w_main. J'utilise un class Connexion qui se connecte au serveur et qui attend la reception des messages pour les afficher au client dans le JTextPane.

    J'ai donc créer des methodes dans w_main pour acceder a liste_messages.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public String get_liste_messages(){
            return liste_messages.getText();
        }
     
    public void set_liste_messages(String texte){
            liste_messages.setText(texte);
        }
    Dans la class connexion, j'ai un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    w_main.set_liste_messages(w_main.get_tliste_messages()+"\n"+message);
    Et cela me renvoie 2 belles erreurs :

    non-static method get_liste_messages() cannot be referenced from a static context
    non-static method set_liste_messages() cannot be referenced from a static context


    J'aimerais savoir en quoi je suis dans un contexte statique dans la classe Connexion ? et comment resoudre cela. ?

    MERCI de votre aide.

  2. #2
    Membre éclairé Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Points : 757
    Points
    757
    Par défaut
    Citation Envoyé par gregb34
    J'ai donc créer des methodes dans w_main pour acceder a liste_messages.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public String get_liste_messages(){return liste_messages.getText();}
     
    public void set_liste_messages(String texte){liste_messages.setText(texte);}
    Dans la class connexion, j'ai un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    w_main.set_liste_messages(w_main.get_tliste_messages()+"\n"+message);
    Et cela me renvoie 2 belles erreurs :

    non-static method get_liste_messages() cannot be referenced from a static context
    non-static method set_liste_messages() cannot be referenced from a static context
    On peut en voir plus ? (cf. ton code de la procédure complète par exemple) car de ce que tu nous montre, tu as l'air de bien faire les choses ... par contre, il est toujours possible que le problème soit issu d'une action realisée avant...
    See you, space cowboy... and if you're satisfied, click on

  3. #3
    Membre confirmé Avatar de Scorpyosis
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2004
    Messages : 365
    Points : 570
    Points
    570
    Par défaut
    Je pense que ton probleme est tout bete tu fais ceci :
    w_main.set_liste_messages(...);Ce qui correspond a classe.methode, alors que tu devrais faire objet.methode, ce qui donne :

    W_main monObjet = new W_main() ;
    monObjet.set_liste_messages(...);Tu remarqueras que j'ai mis le nom de la classe avec une majuscule ainsi on peut distinguer les classe des objets qui eux sont en minuscule.
    Les deux principales inventions sorties de Berkeley sont UNIX et le LSD. Difficile de croire à une quelconque coïncidence - Jeremy S. Anderson

    Avant de vouloir qu’un logiciel soit réutilisable, il faudrait d’abord qu’il ait été utilisable - Ralph Johnson

  4. #4
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut
    en clair, ta methode n'est pas statique, tu dois obligatoirement instancier un objet de type w_main pour l'utiliser

    mavina
    Développeur Java / Flex à Shanghai, Chine
    mes publications
    Mon dernier tutoriel : Messages Quit IRC : explications

    La rubrique IRC recrute des redacteurs : contactez moi

    Ce flim n'est pas un flim sur le cyclimse. Merci de votre compréhension.[/SIZE]

  5. #5
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 197
    Points : 64
    Points
    64
    Par défaut x
    Merci bcp. ca marche desormais.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Méthode non-statique dans un contexte statique : erreur de compilation
    Par endreillie dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 15/01/2011, 14h36
  2. Réponses: 1
    Dernier message: 12/07/2010, 21h00
  3. [PHP 5.3] appel non-statique à des méthodes statiques
    Par Jcpan dans le forum Langage
    Réponses: 4
    Dernier message: 27/05/2010, 17h06
  4. Réponses: 2
    Dernier message: 21/10/2006, 15h24
  5. [FAQ][Classpath]Charger ressource dans contexte statique ?
    Par Pill_S dans le forum Général Java
    Réponses: 3
    Dernier message: 14/10/2004, 16h52

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