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

Eclipse Java Discussion :

[Débutant] question facile pour vous


Sujet :

Eclipse Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 133
    Par défaut [Débutant] question facile pour vous
    bonjour

    ma question peut vous paraître bête mais je débute en java.
    d'ailleurs je ne sais pas si mon problème est du à une mauvaise configuration d'Eclipse ou si j'aurai du poster dans la rubrique "général" donc si c'est le cas, pardonnez-moi

    j'ai en fait 3 fichiers .class :

    - Fiche.class qui contient un constructeur pour afficher une fiche
    - MaClasse.class qui dans son "main" crée la fiche
    - Fonctions.class que je voulais destiner à regrouper quelques fonctions diverses

    Les 3 .class sont dans le même projet "MonProjet"
    MaClasse.class réussit bien à appeler Fiche.class pour créer la fiche, mais Fiche.class refuse d'utiliser une fonction présente dans Fonctions.class

    L'erreur :
    The method Max(int, int) is undefined for the type Fiche
    Je sais pas si c'est nécéssaire dans mon cas, mais je vais indiquer le code source de mes 3 fichiers .class (il n'est pas long, je fais juste des tests)

    MaClasse.class
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class MaClasse {
      public static void main(String[] args)
      {
        Fiche f=new Fiche();
        f.setVisible(true);
      }
    }
    Fiche.class
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    import java.awt.*;
    import javax.swing.*;
     
    public class Fiche extends JFrame
    {
      public Fiche()
      {
        this.setTitle("MonTitre");
        this.setSize(new Dimension(Max(600,1000),450));
      }
    }
    Fonctions.class
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class Fonctions
    {
      int Max(int a, int b)
      {
    	if (a>b) return a; else return b;
      }
    }
    Merci d'avance

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Par défaut
    Salut

    il faut que tu precise que le max est dans fonction.
    A priori ta fonction max ne depend pas de l'instance de fonction c'est a dire que c'est la meme quelle que soit l'objet fonction, autrement dit elle est static je te propose donc la solus suivante:

    d'abord tu change dans ton Fonction.java ta fonction max en precisant qu'elle est static et public (parce que sinon...):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class Fonctions
    {
      static public int Max(int a, int b)
      {
       if (a>b) return a; else return b;
      }
    }
    ensuite tu change le fiche.java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    import java.awt.*;
    import javax.swing.*;
     
    public class Fiche extends JFrame
    {
      public Fiche()
      {
        this.setTitle("MonTitre");
        this.setSize(new Dimension(Fonctions.Max(600,1000),450));
      }
    }
    et sinon en pas static ca donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class Fonctions
    {
      public int Max(int a, int b)
      {
       if (a>b) return a; else return b;
      }
    }
    et le fiche.java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    import java.awt.*;
    import javax.swing.*;
     
    public class Fiche extends JFrame
    {
      public Fiche()
      {
        this.setTitle("MonTitre");
        Fonctions instanceDeFonction = new Fonction();
        this.setSize(new Dimension(instanceDeFonction.Max(600,1000),450));
      }
    }
    voila

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 133
    Par défaut
    triple-merci !!

    - merci pour la solution
    - et en même temps je viens de comprendre ce que veut dire ce satané static
    - et la rapidité (j'ai juste eu le temps d'aller acheter du pain que j'ai déjà une réponse)

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Par défaut
    De rien

    Ca fait plaisir d'aider
    Surtout qu'en on a un triple merci

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

Discussions similaires

  1. Débutant- Question facile
    Par ayed hedi dans le forum Hibernate
    Réponses: 3
    Dernier message: 18/06/2009, 09h09
  2. Réponses: 3
    Dernier message: 13/05/2009, 15h12
  3. Truc Facile pour vous
    Par zpliz dans le forum Débuter
    Réponses: 8
    Dernier message: 30/03/2009, 08h59
  4. DB la plus facile pour un débutant ?
    Par smyley dans le forum MFC
    Réponses: 9
    Dernier message: 11/10/2005, 00h17

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