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

  FORUM HardWare.fr
  Programmation

  [JAVA] Probleme avec les fonctions statiques

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA] Probleme avec les fonctions statiques

n°16874
spy2k
Posté le 04-03-2001 à 01:05:43  profilanswer
 

Voila j'ai mon application graphique dont la classe principale herite de JFrame.
Dans cette classe, j'ai defini des fonctions statiques (enfin Visual Café plutot)  
Une pour le main(), pour exitApplication(),etc.
 
Le probleme, c'est que quand je veux utiliser 'this' a l'interieur de ces fonctions, le complilateur me dit que la variable n'est pas definie.
 
Quelqu'un saurait-il comment resoudre le probleme?

mood
Publicité
Posté le 04-03-2001 à 01:05:43  profilanswer
 

n°16875
verdoux
And I'm still waiting
Posté le 04-03-2001 à 01:14:05  profilanswer
 

Il a raison. Y a pas de this pour une fonction statique.
Qu'est ce que tu veux faire avec this ?
Pourquoi utilises tu une fonction statique ?

 

--Message édité par Verdoux--

n°16876
spy2k
Posté le 04-03-2001 à 01:24:10  profilanswer
 

En fait je voudrais que ces fonctions soient accessibles par d'autres classes dans mon projet. Les mettre en static m'a paru etre la seule solution. S'il y en a une autre, je suis tout ouies.
 
j'ai par exemple besoin de ma fonction exitApplication dont le code est le suivant:
 
public void exitApplication()
 {
  try {
      // Beep
      Toolkit.getDefaultToolkit().beep();
      // Show a confirmation dialog
      int reply = JOptionPane.showConfirmDialog(this,  
                                                "Do you really want to exit?",  
                                                "Nuera CallFlow Studio 1.0 - Exit" ,  
                                                JOptionPane.YES_NO_OPTION,  
                                                JOptionPane.QUESTION_MESSAGE);
   // If the confirmation was affirmative, handle exiting.
   if (reply == JOptionPane.YES_OPTION)
   {
       this.setVisible(false);    // hide the Frame
       this.dispose();            // free the system resources
       System.exit(0);            // close the application
       
   }
  } catch (Exception e) {
  }
 }
 
Et j'ai donc besoin de 'this' pour afficher la boite de dialogue.
Voila en gros mon probleme.
 
Merci en tout cas.

n°16877
spy2k
Posté le 04-03-2001 à 01:26:25  profilanswer
 

euh j'ai enlevé le 'static' au debut de la declaration paske je suis en train d'essayer de debugger.
Donc normalment y'a un 'static' devant :
 
static public exitApplication()

n°16884
BifaceMcLe​OD
The HighGlandeur
Posté le 04-03-2001 à 03:41:08  profilanswer
 

Une méthode statique est par définition une méthode de classe, donc une méthode que l'on n'a pas appliqué à une instance. Donc pas de this.
 
Corollaire : Si tu as besoin de this à l'intérieur de cette méthode, elle ne peut pas être statique.
 
Donc ses appelants auront besoin d'une instance pour pouvoir appeler cette méthode.
 
Ce qui veut dire que, si j'ai bien compris, il va falloir que tu stockes quelque part l'objet Frame courant, pour ces autres classes puissent l'utiliser pour invoquer la méthode (non-statique) exitApplication().
 
Suis-je clair? (si je pose la question, c'est que j'ai un doute... :D )

n°16887
spy2k
Posté le 04-03-2001 à 04:56:32  profilanswer
 

Oui je vois
Ok merci encore.


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

  [JAVA] Probleme avec les fonctions statiques

 

Sujets relatifs
Un petit problème avec le script Advanced Poll chez Free... A l'aide!Problème sous Flash...
[JAVA] Cherche doc complete ![JAVA] Jar et resources
répertoire CGI-BIN et applets Javacomment inclure un caractere 'NewLine' dans une String en java ?
[ACCESS] probleme de requete a partir d'elements d'un formulaire[C] Liste de fonctions par librairie ???
problème de mémoire XMS avec un 386[SQL] Probleme de requete
Plus de sujets relatifs à : [JAVA] Probleme avec les fonctions statiques


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