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

  FORUM HardWare.fr
  Programmation
  Java

  Un petit probléme avec les methodes Static et Non-Static...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Un petit probléme avec les methodes Static et Non-Static...

n°394182
2501
Posté le 14-05-2003 à 19:53:05  profilanswer
 

Voila, je suis sur un petit programme ( un de mes premiers trucs valable ) et j'ai une fenétre principale, qui est lancée par un
 
Application.class, dans lequel se trouve le main, qui crée une instance fenetre de ma Classe Fenetre.class.
 
Jusqu'ici pas de problémes, ensuite j'ai des petits popups dans tout les sens ( style boites de dialogue OK, Annuler, etc.... ), et entre autre, une qui est censée me renvoyer un mot de passe et un login. ça marche impec si je souhaite récuperer le mot de passe à partir de ma class "FenetreMotDePasse.class" mais moi je voudrais lancer un methode du type :
 

public void maMethode( String login, String motDePasse){....}
 
 
qui se trouve elle dans ma classe Fenetre.class mais si je fait dans ma classe FenetreMotDePasse quelque chose comme :  
 

Fenetre.maMethode(login, password);

 
il me dit texto :
 

ChargerPartie.java:86: non-static method load(java.lang.String,java.lang.String) cannot be referenced from a static context

 
et si je met maMethode en static, ça merde avec d'autre methodes de la classe fenetre  
 :fou:  
 
Enfin voila, avis aux âmes charitables qui pourront m'aider  :)

mood
Publicité
Posté le 14-05-2003 à 19:53:05  profilanswer
 

n°394183
Taz
bisounours-codeur
Posté le 14-05-2003 à 19:54:23  profilanswer
 

ben il te faut un objet fenetre...

n°394184
the real m​oins moins
Posté le 14-05-2003 à 19:55:07  profilanswer
 

ben tu dois appeler ta methode maMethode(...) sur une instance de Fenetre (un objet), pas sur la classe elle-meme
 
edit: mert, grillè


Message édité par the real moins moins le 14-05-2003 à 20:07:43

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°394185
2501
Posté le 14-05-2003 à 19:56:33  profilanswer
 

Oui, mais je crée déja une instance de fenetre dans ma classe application.class qui me sert de lanceur ( dans laquelle il y à le main ), donc je vais pas recréer une fenetre principale dans mon popup, si ? :??:


Message édité par antikor le 14-05-2003 à 20:02:23
n°394200
the real m​oins moins
Posté le 14-05-2003 à 20:08:13  profilanswer
 

ben faut passer la reference à ton popup alors... (qui est representé par une autre classe?)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°394208
2501
Posté le 14-05-2003 à 20:15:50  profilanswer
 

oui, mon popup est une fenetre crée dans une autre classe, c'est une boite de saisie, qui lorsqu'on clique sur ok recupére les infos entrées, mais sinon que veux tu dire par passer la référence au popup ?? ( désolé si je suis lourd.....)

n°394223
the real m​oins moins
Posté le 14-05-2003 à 20:28:52  profilanswer
 

ben euh
si dans Fenetre, tu crées le popup, tu lui passes la ref comme ça:
 
new TonPopup(this)
 
et le constructeur de TonPopup sera
public TonPopup(Fenetre fen) {
   this.parent = fen;
}
 
(tu ajoutes un attribut "private Fenetre parent" à TonPopup)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°394241
2501
Posté le 14-05-2003 à 20:35:16  profilanswer
 

ok, merci je vais voir ça, mais de tt maniére pas de regret, j'aurais pas trouvé tt seul  :)

n°394271
2501
Posté le 14-05-2003 à 20:58:25  profilanswer
 

en fait j'ai toujours un probléme, à la compil il me dit encore ça :
 
 
ChargerPartie.java:88: non-static method load(java.lang.String,java.lang.String) cannot be referenced from a static context
  Fenetre.load(nomJoueur,passJoueur);
                       ^
Fenetre.java:318: cannot resolve symbol
symbol  : constructor ChargerPartie (Fenetre.ActionChargerPartie)
location: class ChargerPartie
     ChargerPartie chargerPartie = new ChargerPartie( this );
                                          ^
2 errors
 
 
load c'est la mehode que je souhaite appeler, et ChargerPartie, c'est mon popup


Message édité par antikor le 14-05-2003 à 20:58:44
n°394278
the real m​oins moins
Posté le 14-05-2003 à 21:00:16  profilanswer
 

ça

Citation :


ChargerPartie chargerPartie = new ChargerPartie( this );  


se trouve ds quelle classe??  
"this" ça reference l'objet "courant" hein; si t'es dans ton ActionMachin, this c'est forcément pas fenetre...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
mood
Publicité
Posté le 14-05-2003 à 21:00:16  profilanswer
 

n°394296
2501
Posté le 14-05-2003 à 21:11:55  profilanswer
 

la je me trouve dans la classee ActionCharger, qui est dans la classe Fenetre, mais j'ai essayé de mettre super à la place de thi, et ça marche po

n°394312
the real m​oins moins
Posté le 14-05-2003 à 21:24:04  profilanswer
 

ben faut passer la reference de fenetre à ton action [:spamafote]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?

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

  Un petit probléme avec les methodes Static et Non-Static...

 

Sujets relatifs
[PHP/MYSQL]Parametre dans les URL, probleme de majuscules[Shell] Petit problème de grep
Probleme avec l'attribut READONLY du Tag INPUT[java] Methode et champs static
Problème pour installer PHP-NukeProbleme avec Swing...
Probleme de compativilités entre foncitons[CSS] problème de vertical-align
Problème avec un doctype XHTML (résoudu) 
Plus de sujets relatifs à : Un petit probléme avec les methodes Static et Non-Static...


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