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 :

Ne peut pas etre référencé dans un contexte static


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 97
    Par défaut Ne peut pas etre référencé dans un contexte static
    Bonjour !

    J'ai une petite question...

    J'utilise borland Jbuilder je l'ai utilisé pour faire une interface graphique située dans une classe gui.java

    Ma classe principale gère un jeu de blackjack, et appelle gui. L'orsque j'ai implémenté pour la première fois mon interface dans le code tout marchait bien.
    J'avais une méthode dans gui qui me récupérait la mise entrée par l'utilisateur dans l'interface.

    Depuis le code de blackjack à un peu changé l'appelle de la méthode ne se situe plus dans le main mais dans une méthode appellée game() Cependant le compilateur ne veut plus appeller ma méthode gui.getmise(); il me dit que l'on ne peut pas appeler un méthode non static depuis un contexte statique... Mais je ne vois pas en quoi le contexte est statique...

    Pouvez vous m'aider ?

    Merci

  2. #2
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Montre le bout de code...

    En gros ce message se produit quand tu essaye d'appeler une méthode d'instance dans un contexte statique (et donc où tu n'es pas dans une instance)...

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 159
    Par défaut
    Vu que main est statique et que là il n'y avait pas de problème, je suppose que gui.getmise() est aussi statique mais pas game() d'où le problème.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 97
    Par défaut
    pourtant gui.getmise n'est pas static d'ailleurs si je le met ca pose problème avec tout les composants de l'interface faite par jbuilder qui ne sont pas statiques, j'ai essayé de tous les mettre en static mais j'avais toujours un problème.

    je donne quelques bout de codes significatifs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public static void main(String arg[] )throws IOException
        {
     
             blackjack blackjack = new blackjack();
     
     
            }
    l'appelle de game se fait ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     public void blackjack() throws IOException{
                BufferedReader LineInput = new BufferedReader(new InputStreamReader(System.
                        in));
                //initialisation du jeu
                //création joueur
                j1 = new joueur("j1");
                //affiche mise de départ
                System.out.println(message(10));
                //lancement du jeu
     
                //modification GUI
                gui gui = new gui();
     
                boolean gamecontinu = true;
                while (gamecontinu) {
                    if (j1.affichemise() == 0) {
                        System.out.println();
                        System.out.println(message(12));
                        //String ques = LineInput.readLine();
                        //obtenir les réponses par l'interface
                        while (gui.b < 1) {
     
                        }
     
                        System.out.println("variable de gui " + gui.b);
     
                        //int rep = Integer.parseInt(ques);
                        if (gui.b == 1) {
                            j1 = new joueur("j1");
                            //affiche mise de départ
                            System.out.println(message(10));
                            game(); //Le game incriminé
                        } else {
                            gamecontinu = false;
                        }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public void game()throws IOException
        {
            BufferedReader LineInput = new BufferedReader(new InputStreamReader(System.in));
            //[...]
              System.out.println("variable de gui "+gui.b);
                               int mise = gui.getMise() ; //erreur ici
    //[...]
    et le fameux getmise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      public int getMise()
                     {
                     String stmise ;
                     stmise = (String) this.jSpinner1.getValue();
                     int mise = Integer.parseInt(stmise);
     
                     return mise;
     
        }

  5. #5
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    bah fait un gui.game()...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 97
    Par défaut
    comment ca? Tu veux dire mettre le game dans le gui ?
    C'est pas très propre de melanger l'interface et le jeu comme ca... ?

    il n'y a pas de méthode game dans gui...

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/07/2010, 21h00
  2. Réponses: 6
    Dernier message: 02/08/2009, 12h39
  3. Réponses: 11
    Dernier message: 10/07/2006, 18h49
  4. Réponses: 8
    Dernier message: 29/03/2006, 15h50
  5. mémoire peut pas etre "read"
    Par zhoom dans le forum C
    Réponses: 7
    Dernier message: 05/11/2005, 11h56

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