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

avec Java Discussion :

importer les autres class


Sujet :

avec Java

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 153
    Points : 59
    Points
    59
    Par défaut importer les autres class
    Bonjour,
    Je suis en train de lire le livre "thinking in java"
    Dedans il y a le code

    import com.bruceeckel.simpletest.*;

    Qu'est que je dois faire pour que ça fonctionne?
    Je dois télécharger cesclass? Puis insérer dans quel dossier pour que Eclipse puisse les retrouver?

    Merci

  2. #2
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    Menu Project / Properties... / Java Build Path / Onglet Libraries / Add external jar

    (Par exemple)

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 153
    Points : 59
    Points
    59
    Par défaut
    Merci bien,
    Et le fichier jar est un fichier déjà compilé, peux je regarder la source de ce fichier?

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 95
    Points : 131
    Points
    131
    Par défaut
    S'il n'y a pas les sources dans le jar tu peux toujours décompiler les .class
    Tapes java décompilation sur google tu devrais trouver ce qu'il te faut.

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 153
    Points : 59
    Points
    59
    Par défaut
    Encore une autre question, est ce qu'on peut importer un package dans un package?

    Par exemple
    Package ....

    Import...

    Le but est de construire un package en utilisant un package déjà existant?
    Merci

  6. #6
    Inscrit

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Points : 892
    Points
    892
    Par défaut
    Citation Envoyé par hibou107 Voir le message
    Encore une autre question, est ce qu'on peut importer un package dans un package?

    Par exemple
    Package ....

    Import...

    Le but est de construire un package en utilisant un package déjà existant?
    Merci
    Oui tu peux importer autant de package personnel ou natif dans un package personnel ou natif

    Supposons que tu as un package : com.developpez.forum

    Dans ton package
    Package
    Tu peux faire import com.developpez.forum.*;

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 153
    Points : 59
    Points
    59
    Par défaut
    Bonjour
    Désolé comme je suis débutant je devrai avoir des questions que vous trouvez très basique
    J'ai essayée de faire fonctionner les codes sources du livre mais il y a encore des problèmes
    Par exemple, le dossier polymorphism contient plusieurs fichier .java (il n'y a que des fichiers .java)
    quand j'ouvre un des fichiers qui m'intéressent, il y a le code
    package polymorphism.music

    Quand je compile, eclipse semble ne pas comprendre ce package... qu'est ce que je dois faire pour importer ce package?
    Merci

  8. #8
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 153
    Points : 59
    Points
    59
    Par défaut
    Je veux dire, est ce que c'est possible d'importer les packages qui sont sour la forme .java et pas .jar
    Merci

  9. #9
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Citation Envoyé par hibou107 Voir le message
    Je veux dire, est ce que c'est possible d'importer les packages qui sont sous la forme .java et pas .jar
    Merci
    Je crois qu'il faille qu'on se fixe les idées.
    Un package au niveau du système n'est rien d'autre qu'un dossier contenant des fichiers sources java (*.java). Chaque fichier .java contient une seule classe (abstraction faite des classes interne).

    Pour utiliser des classes dont les codes sources sont disponibles dans ton projet, il faut que ces codes soit dans le répertoire de ton projet contenant les fichiers sources.
    Si ce sont des fichiers .class, ou des librairies jar contenant des fichiers .class, il faut que ces librairies soit disponible dans ton classpath pour permettre à ton application d'avoir accès à ces class.

    Il est possible d'importer les classes que ça soit dans des librairies ou des classes dont le code est disponible. L'importation te permet d'utiliser une classe déclarée dans un autre package sans avoir à fournir le nom complet de la classe.

    Nuance, on n'importe pas des packages mais des classes contenues dans des packages.

  10. #10
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 153
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par darrylsite Voir le message
    Je crois qu'il faille qu'on se fixe les idées.
    Un package au niveau du système n'est rien d'autre qu'un dossier contenant des fichiers sources java (*.java). Chaque fichier .java contient une seule classe (abstraction faite des classes interne).

    Pour utiliser des classes dont les codes sources sont disponibles dans ton projet, il faut que ces codes soit dans le répertoire de ton projet contenant les fichiers sources.
    Si ce sont des fichiers .class, ou des librairies jar contenant des fichiers .class, il faut que ces librairies soit disponible dans ton classpath pour permettre à ton application d'avoir accès à ces class.

    Il est possible d'importer les classes que ça soit dans des librairies ou des classes dont le code est disponible. L'importation te permet d'utiliser une classe déclarée dans un autre package sans avoir à fournir le nom complet de la classe.

    Nuance, on n'importe pas des packages mais des classes contenues dans des packages.

    Salut,
    Le problème n'est pas la compréhension mais la manipulation. Je décris exactement ce que j'ai fait avec Eclipse, merci de me dire ce qui ne va pas

    1) Je crée un projet java
    File/New/Java Project

    Project name: Helloworld
    Je choisis "use project folder as root for sources and class files

    2) J'importe les fichiers sources

    Project/properties/Add External Class folder
    J'ajoute le dossier D:\Documents\Java\TIJ
    Ce dossier contient plusieur dossiers, chaque dossier contient plusieurs fichier .class

    3)Maintenant, dans mon dossier, je trouve au dessous de "JRE System Library", un autre dossier qui est "Referenced Libraries", je vois bien mon dossier est inclu dedans. (ce qui est pour moi logique jusqu'à maintenant

    4) Je crée ma première classe "hello world"
    Clique droit sur mon projet/ New/ Class/
    Name: HelloWorld
    Je choisi "public static void main" pour pouvoir l'exécuter, puis Finish

    5)Je fais un code simple pour afficher "hello world", ça marche (je trouve que eclipse est en train d'importer mes fichiers sources)

    6)Maintenant c'est l'étape qui a le problème: comment utiliser les class que j'ai importés?
    J'ai fait
    ça ne marche pas
    J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import polymorphism.music
    Non plus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import TIJ.polymorphism.music
    Non plus
    Je copie/colle ici la class music jusque pour exemple
    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
     
    //: polymorphism/music/Music.java
    // Inheritance & upcasting.
    package polymorphism.music;
     
    public class Music {
      public static void tune(Instrument i) {
        // ...
        i.play(Note.MIDDLE_C);
      }
      public static void main(String[] args) {
        Wind flute = new Wind();
        tune(flute); // Upcasting
      }
    } /* Output:
    Wind.play() MIDDLE_C
    *///:~

  11. #11
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 153
    Points : 59
    Points
    59
    Par défaut
    Puis ici la méthode pour importer manuellement, par contre je veux jusque faire avec eclipse


    http://www.mindviewinc.com/TIJ4/CodeInstructions.html

  12. #12
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Salut,

    comme je l'ai dit plus haut, on importe pas des package mais des classes.
    Le nom du package est : polymorphism.music. Le nom complet de la classe serait donc le nom du package suivie du nom de la class soir : polymorphism.music.Music.
    Donc l'importation devrait être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    import polymorphism.music.Music;

  13. #13
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 854
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 854
    Points : 22 878
    Points
    22 878
    Billets dans le blog
    51
    Par défaut
    En effet l'import (qu'il soit en * ou d'une simple classe) n'est pas une inclusion (ce que fait le #include en C) mais un moyen de resoudre le nom court de la classe en son nom long (nom de package + nom de classe) a la compilation (exactement comme le using namespace en C++).

  14. #14
    Membre chevronné
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Points : 1 855
    Points
    1 855
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    import polymorphism.music.Music;
    à propos un autre point: selon les spécifications de Java
    http://java.sun.com/docs/books/jls/t...mes.html#6.8.1
    ce genre de nom de package est plutot à éviter.

  15. #15
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 153
    Points : 59
    Points
    59
    Par défaut
    Merci bien, je vais essayer ça ce soir...
    C'est très étonnant de la disponibilité des membres dans ce forum (je suis newbe)
    Alors j'ai pleine de "professeurs" ici pour poser mes questions!

  16. #16
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 153
    Points : 59
    Points
    59
    Par défaut
    Ca marche maintenant,
    Est qu'il faut que je change le titre en [RESOLU]?

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 106
    Points : 121
    Points
    121
    Par défaut
    oui

  18. #18
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 854
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 854
    Points : 22 878
    Points
    22 878
    Billets dans le blog
    51
    Par défaut
    Cliquer sur le bouton résolu qui se trouve en bas en fait.

  19. #19
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 153
    Points : 59
    Points
    59
    Par défaut
    Bonjour,
    Je pense que mon problème n'est pas encore réglé,
    Je peux voir que l'import passe bien mais j'ai du mal à utiliser les class importer
    Voici exemple,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    import bases.boutons.*; //tout ça passe bien, pas d'erreur
     
    public class MyTestBouton {
     
    	public static void main(String[] args){
    		Calculatrice.main(args);
    	}
    }
    Dans le package boutons, la classe Calculatrice est la classe principale qui contient la méthode main()
    Moi je veux exécuter cette méthode dans mon projet (normalement comme la méthode main est la méthode static alors je peux exécuter sans créer l'instance)
    Est ce que je dois faire autrement?

    Merci pour vos réponses

  20. #20
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Les methodes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public static void main(String[] args)
    {
    }
    ne sont pas sensées être appelées dans le programme mais par la JVM lors de l'exécution d'une classe contenant cette méthode.
    Si tu as fait le c, c'est un peu comme la méthode main en c.

    Alors si tu veux exécuter cette classe, compile le projet et exécute directement cette classe.
    Par exemple dans l'invité de commande sous Windows
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    c:>java bases.boutons.Calculatrice

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/08/2013, 08h57
  2. [POO] mysql dans les autre classes ou pas?
    Par ibasticour dans le forum Langage
    Réponses: 3
    Dernier message: 06/05/2008, 14h40
  3. Lister les imports d'un .class
    Par otsgd dans le forum Langage
    Réponses: 3
    Dernier message: 23/10/2006, 16h01
  4. Réponses: 4
    Dernier message: 25/07/2006, 16h30
  5. Réponses: 5
    Dernier message: 04/05/2006, 09h57

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