Problème de package [Résolu]

Signaler
Messages postés
21
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 juillet 2011
-
cs_Julien39
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
-
Bonjour,

Je voudrais faire un package que je pourrais importer par la suite dans une application.
Comme il est recommandé, j'ai ouvert un répertoire dans le racine de C (dans un premier temps)
J'ai appelé ce répertoire du nom du package que je veux créer "affpan".

C:\affpan

Dans ce répertoire j'ai écrit une classe "Crepan"

package affpan;

import javax.swing.*;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.net.*;

public class CrePan extends JFrame
{

private static final long serialVersionUID = 1L;

public void MthCrePan()
{
// Constructeur de panneau

setTitle(" --- Essai d'affichage d'un panneau --- ");
setResizable(false);

// Affichage de l'icone du panneau (non utilisé pour l'instant)

// Toolkit tk = Toolkit.getDefaultToolkit();
// URL urlIco = this.getClass().getResource("Sdk-Ico.gif");
// setIconImage(tk.getImage(urlIco));

// Dessin du panneau proprement dit

Dimension dimEcran = tk.getScreenSize();
int largEcran = dimEcran.width;
int hautEcran = dimEcran.height;
int largFenetre = 756 + 6;
int hautFenetre = 400 + 28;
int decLarg = (largEcran - largFenetre) / 2;
int decHaut = (hautEcran - hautFenetre) / 2;
setBounds(decLarg, decHaut, largFenetre, hautFenetre);
setVisible(true);
}
}

Cette class CrePan comporte une méthode "MthCrePan" permettant de créer et d'afficher un panneau

Dans Eclipse j'écris une mini-application demandant l'affichage d'un panneau.

import affpan.*;
public class EssAffPan
{
public static void main(String[] args)
{
CrePan cp = new Crepan();
cp.MthCrePan();
}
}

Là, j'ai deux messages d'erreur:
Dans la première ligne "The import affpan cannot be resolved"
Dans la sixième ligne "Multiple markers at this line
- Crepan cannot be resolved to a type
- Crepan cannot be resolved to a type"

A noter que j'ai pris la précaution de fixer CLASSPATH comme suit:

.;C:\;

Quelqu'un pourrait-il me dire où est ma faute?

Merci d'avance...

13 réponses

Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
260
Parfait alors,

bon courage pour la suite et n'oublie pas d'accepter le réponse.
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
260
Pourquoi tu ne fais pas un .jar à ajouter au build path ??
Messages postés
545
Date d'inscription
lundi 10 mai 2004
Statut
Membre
Dernière intervention
28 septembre 2011
2
Salut,

Je rajouterai que sauf erreur, Eclipse ne lit pas du tout la variable d'environnement classpath et se contente de ce qui est présent dans le Build Path du projet

gmi19oj19

Je confirme, monte tes classes Java, et exporte-les ensuite sous forme d'archive .jar
Ce sera nettement plus portable que de jouer avec le classpath :p


--
Pylouq
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
260
Pas de réponse ??
Messages postés
21
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 juillet 2011

Ok, merci. Je vais essayé de faire un .jar avec ma classe Crepan.java. Je ne sais pas trop comment, mais je vais chercher...
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
260
Si tu utilises un IDE c'est facile.

Avec eclipse, tu fais un click droit sur ton projet et tu choisit export et dans le type d'export, tu prends jar file (et pas Runnable jar file)
Messages postés
21
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 juillet 2011

Bonjour,
Je travaille sous Eclipse. Merci, je vais essayer. Je te tiens au courant.
Messages postés
21
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 juillet 2011

Bonjour,
J'ai bien créé un fichier AffPan.jar dans lequel j'ai le fichier AffPan.java. Celui-ci se trouve dans mon répertoire c:\AffPan. J'ai ajouté ce fichier AffPan.jar dans l'onglet Libraries de Java Build Path du fichier EssAffPan qui doit en principe l'utiliser.
Mais cela ne fonctionne toujours pas quand je l'appelle sous forme de package dans EssAffPan.
Je pense, en fait, qu'il me faudrait un exemple bien précis de ce genre d'utilisation...
Messages postés
21
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 juillet 2011

Excuse: Dans le fichier AffPan.jar, c'est le fichier AffPan.class qui s'y trouve et non.pas AffPan.java.
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
260
Que signifie "quand je l'appelle sous forme de package" normalement, tu utilises les classes des librairies externes comme si les classes qu'elles contiennent étaient directement enregistrées dan ton projet. et tu fais l'import de la même manière
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
260
Par exemple : tu as la classe suivante dans le package fr.exemple d'un projet quelconque.

package fr.exemple;

public class Exemple {

   public void test(){
      Sytem.out.println("ca marche");
   }

}


Sur le package, tu fais un click droit puis export, jar file et tu enregistres.

Tu créé un nouveau projet, différent. Tu créé tes packages et tu fais un click droit sur le projet et tu Choisis Configure build path. Et dans les librairies, tu fait Ad external jar file. Tu selectionne ton .jar.

Ensuite, tu veux utiliser la classe exemple dans ton nouveau projet :

package lancement;

import fr.exemple.Exemple;

public class Lanceur {

   public static void main(String[] argd){
      new Exemple().test();
   }

}


Et ca marche.
Messages postés
21
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 juillet 2011

Bonjour,

Effectivement, ça marche, ça marche même très bien!

Un grand merci