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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 197
    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 émérite Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    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...

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

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 365
    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.

  4. #4
    Membre éprouvé
    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 : 40
    Localisation : Chine

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

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    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

  5. #5
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 197
    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