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

AWT/Swing Java Discussion :

[paint] Méthode déclaré en static


Sujet :

AWT/Swing Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 40
    Points : 19
    Points
    19
    Par défaut [paint] Méthode déclaré en static
    Bonjour à tous , voila mon problème du lundi !

    J'ai une classe Test qui contient les 2 méthodes suivantes (openFile & une redéfinition de paint ):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public class Test extends JPanel {
     
    public static void openFile
    {
    ...
    repaint();
    ...
    }
     
     public void paint(Graphics g) {
        g.fillOval(150, 150, 100, 100);
      }
    Mon problème est que je n'arrive pas à faire fonctionner repaint(). Le compilateur me dit méthode repaint non static ne peut pas être réferencé depuis un contexte static.
    Si je declare ma fonction openfile en tant que non static j'ai exactement le meme message d'erreur concernant cette fois ci ma méthode openFile ! (openFine non static ne peut....)

    Si qqn peut éclairer ma lanterne merci.

  2. #2
    Membre habitué

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2002
    Messages : 125
    Points : 150
    Points
    150
    Par défaut
    pourquoi openFile est-elle static ?
    tu ne peux pas appeler une méthode static depuis une méthode non static, si tu veux jouer avec le static utilise un singleton.
    ne ré-inventez pas la roue, allez chercher dans les Commons de Jakarta

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 40
    Points : 19
    Points
    19
    Par défaut
    pourquoi openFile est-elle static ?
    Très honnêtement je ne sais plus pourquoi je l'ai mis en static j'ai du certainement avoir ce type d'erreur et je l'ai mis en static du coup ! (oui je sais pas beau vilain codeur désolé je débute)

    Du coup je vais essyez de repartir sur de bonne base et donc je ne déclare plus openFile en tant que static.
    Du coup j'ai donc un nouveau problème lors de l'appel de cette méthode par une autre classe j'ai :

    méthode openFile non static ne peut pas être réferencé depuis un contexte statique

    pourtant j'ai beau regardé je n'ai pas déclaré la classe ou je fais l'appel en static...

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 85
    Points : 102
    Points
    102
    Par défaut
    C'est parce que t'as dû garder un appel du genre :
    Test.openFile();

    Pour pouvoir appeler cette méthode, il faut que tu l'appelles pour un objet, et non pour une classe, genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Test test = new Test(); //(ou une référence déjà existante)
    test.openFile();
    .....

  5. #5
    Membre habitué Avatar de Piolet
    Inscrit en
    Février 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 469
    Points : 160
    Points
    160
    Par défaut
    euh salut Bugmaster tjs avec ton code de paint()
    celui que j'ai donné marche-t-il bien ?

    sinon pour ton pb...tu ne peux pas appeler dans une méthode statis d'autres méthodes qui ne sont pas static...donc soit repaint est déclaré statis (ce qui est impossible ) soit OpenFile n'est pas déclareé static...et vu le nom de la méthode il ne devrait pas y avoir de la mettre static

    tchÔ
    Hum hum hum...géant vert ! ! !
    Le meilleur moyen de trouver c encore de chercher ! ! !

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 40
    Points : 19
    Points
    19
    Par défaut
    Merci tous le monde

    Ca marche , merci pour vos explications. Tu avais raison le prophete je faisais encore un appel incorrect....

    Piolet ton code marche, quand à moi j'avance petit à petit...

    encore merci !!

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

Discussions similaires

  1. Méthode et variable static
    Par cherche_java dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 20/01/2015, 10h42
  2. Méthode générique non static
    Par michelp3 dans le forum Langage
    Réponses: 9
    Dernier message: 20/12/2012, 00h30
  3. Méthode de fabrique Static
    Par Micke7 dans le forum Langage
    Réponses: 12
    Dernier message: 24/05/2011, 13h28
  4. méthode private et static
    Par womannosky dans le forum Langage
    Réponses: 4
    Dernier message: 23/06/2008, 11h16
  5. thread et méthodes static
    Par sylpichard dans le forum MFC
    Réponses: 3
    Dernier message: 02/06/2004, 17h12

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