Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2315 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java Unix] non-static method cannot be referenced from a static ...

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java Unix] non-static method cannot be referenced from a static ...

n°138215
proxi
Posté le 13-05-2002 à 14:13:40  profilanswer
 

J'ai l'erreur "non-static method repaint() cannot be referenced from a static context" sur la ligne testgraph.repaint();
Je vous accorde que mon prog est zarb mais je suis en train de faire des petits tests... Alors je fais comment moi ?
 
import java.net.*;
import java.io.*;
import java.lang.Thread;
 
import java.awt.*;
import java.awt.Graphics;
 
public class testgraph extends java.applet.Applet
{
  static public  int nb_msg=0;
  static public  int x1=0;
  static public  int y1=0;
  static public  int x2=0;
  static public  int y2=0;
 
 
  Button a = new Button("ok" );
  FlowLayout lm = new FlowLayout();
 
  public testgraph()
  {
     
  }
 
  public void init()
  {
    setLayout(lm);
    add(a);
  }
 
  public void paint(Graphics g)
  {
    g.drawLine(x1,y1,x2,y2);
  }
 
  public void start()
  {
    try
    {
      System.out.println("coucou" );
      GraphTimer gt = new GraphTimer(2000);
      gt.start();
    }
    catch (Exception e)
    {
 
    }
  }
 
  public boolean action(Event evt, Object arg)
  {
    if (evt.target instanceof Button)
    {
      String labl = (String)arg;
      if (labl.equals("ok" ))
      {
        nb_msg++;
      }
    }
    return true;
  }
 
  public void update()
  {
    repaint();
  }
 
}
 
class GraphTimer extends Thread
{
  static public int tsleep;
 
  public GraphTimer(int tsleep)
  {
    this.tsleep = tsleep;  
  }
 
  public void run()
  {
    try
    {
      while (true)
      {
        sleep(tsleep);
        System.out.println(testgraph.nb_msg);
        testgraph.nb_msg=0;
        setp(0,0,50,50);
        testgraph.repaint();
      }
    }
    catch (Exception e)
    {
 
    }
  }
 
  public void setp(int x1, int y1, int x2, int y2)
  {
    testgraph.x1=x1;
    testgraph.y1=y1;
    testgraph.x2=x2;
    testgraph.y2=y2;
  }
}

mood
Publicité
Posté le 13-05-2002 à 14:13:40  profilanswer
 

n°138217
darklord
You're welcome
Posté le 13-05-2002 à 14:16:04  profilanswer
 

au secours !!!!
 
les méthodes statiques c'est utilisé le moins possible en OO. Ce qui tu as fait veut dire que tout les objets Testgraph au sein d'une meme JVM auraont tous le meme nombre de mssage le meme x1, x2, etc ...
 
repaint est une méthode d'instance donc tu dois créer une instance et appliquer la méthode dessus !


---------------
Just because you feel good does not make you right
n°138220
benou
Posté le 13-05-2002 à 14:19:27  profilanswer
 

DarkLord a écrit a écrit :

au secours !!!!




ouep ... pas bô tout ca ...

n°138222
proxi
Posté le 13-05-2002 à 14:22:32  profilanswer
 

DarkLord a écrit a écrit :

au secours !!!!
 
les méthodes statiques c'est utilisé le moins possible en OO. Ce qui tu as fait veut dire que tout les objets Testgraph au sein d'une meme JVM auraont tous le meme nombre de mssage le meme x1, x2, etc ...
 
repaint est une méthode d'instance donc tu dois créer une instance et appliquer la méthode dessus !  




 
 :heink:  c grave docteur ?  :heink:  
Comment je fais pour créer cette instance ?
Je sais, c ma journée...

n°138225
darklord
You're welcome
Posté le 13-05-2002 à 14:30:50  profilanswer
 

proxi a écrit a écrit :

 
 
 :heink:  c grave docteur ?  :heink:  
Comment je fais pour créer cette instance ?
Je sais, c ma journée...  




 
Je ne suis pas persuadé que j'ai envie de t'expliquer cela. Va faire un tour sur le java tutorial (http://java.sun.com). Ca prendrait bcp trop de temps et c'est déjà expliqué très clairement ailleurs.
 
Déjà tu utilises static pour tes membres de classes et ca n'a aucun sens ...


---------------
Just because you feel good does not make you right
n°138230
proxi
Posté le 13-05-2002 à 14:42:23  profilanswer
 

DarkLord a écrit a écrit :

 
 
Je ne suis pas persuadé que j'ai envie de t'expliquer cela. Va faire un tour sur le java tutorial (http://java.sun.com). Ca prendrait bcp trop de temps et c'est déjà expliqué très clairement ailleurs.
 
Déjà tu utilises static pour tes membres de classes et ca n'a aucun sens ...  




 
ok j'ai pigé, il est vrai que c très moche ce que je viens de faire. J'ai trouvé un exemple propore pour faire ce que j'essaye de faire. c lcait :pt1cable: thx @+

n°138231
benou
Posté le 13-05-2002 à 14:43:28  profilanswer
 

mais tu devrais quand même apprendre le java avant de te lancer dans le dev. (cf ma signature)


---------------
ma vie, mon oeuvre - HomePlayer

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java Unix] non-static method cannot be referenced from a static ...

 

Sujets relatifs
[JAVA] : Comment faire disparaitre le curseur de souris ?Comment reutilise les commande unix sous java ???
[Java unix] appletviewer... ne trouve pas ma classe !problème avec RMI en java: HELP!
[java]Recharger une applet automatiquement?[Java][projet] Graphes planaires...
[JAVA] comment utilise-t-on "package" ???[JAVA] Stockage constantes dans un tableau Object[]
Plus de sujets relatifs à : [Java Unix] non-static method cannot be referenced from a static ...


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR