[java]Problème d'import de classe swing

Problème d'import de classe swing [java] - Java - Programmation

Marsh Posté le 25-12-2003 à 16:55:27    

:hello: et joyeux noël a tous voila je ve faire du swing, je fais donc des import javax.swing.JFrame, etc.. et les autres dont j'ai besoin qd je compile voila ce ke j'ai

Code :
  1. [herve@PC-herve huffman]$ make all
  2. javac Huffman.java Heap.java Tree.java Interface.java MyCanvas.java
  3. Interface.java:1: error:Import of type  "javax/swing/JFrame" from unnamed package [JLS 7.6]
  4. Interface.java:1: error:Cannot find class "javax/swing/JFrame" [JLS 8]
  5. Interface.java:1: error:Import of type  "javax/swing/JPanel" from unnamed package [JLS 7.6]
  6. Interface.java:1: error:Cannot find class "javax/swing/JPanel" [JLS 8]
  7. Interface.java:1: error:Import of type  "javax/swing/JScrollPane" from unnamed package [JLS 7.6]
  8. Interface.java:1: error:Cannot find class "javax/swing/JScrollPane" [JLS 8]
  9. make: *** [Huffman.class] Erreur 1


je ve faire du graphique et donc utiliser les package de swing.... le problèmes c kil ne me les trouves pas????
comment se fait-ce??? c la première fois que j'ai ce problème ( c la première fois que je ve utiliser swing aussi sur ma machine)
Comment savoir quelle version du jdk j'ai, peut-etre que mon jdk est trop ancien, mia sca m'etonnerais je suis sous une mdk 9.0.
et comment resoudre ce problème c assez urgent plz
Merci d'avance

Reply

Marsh Posté le 25-12-2003 à 16:55:27   

Reply

Marsh Posté le 25-12-2003 à 17:08:15    

fais-voir le résultat de "javac -version"  
et le haut de Interface.java


Message édité par nraynaud le 25-12-2003 à 17:08:44

---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 25-12-2003 à 17:11:54    

Code :
  1. javac -version
  2. Version 2.1A released 11. February 2002


Code :
  1. /*
  2. * @(#)Interface.java 23/12/03
  3. */
  4. import java.awt.Canvas;
  5. import java.awt.Toolkit;
  6. import java.awt.Graphics;
  7. import java.awt.Container;
  8. import java.awt.Dimension;
  9. import java.awt.BorderLayout;
  10. import java.awt.event.WindowEvent;
  11. import java.awt.event.WindowAdapter;
  12. import java.awt.event.WindowListener;
  13. import javax.swing.JFrame;
  14. import javax.swing.JPanel;
  15. import javax.swing.JScrollPane;

Reply

Marsh Posté le 25-12-2003 à 17:26:22    

ah ! heu ...  
Bon, déjà, je viens de capter ce que veut dire JLS 7.6, c'est le chapitre de la spec qui pose problème :
http://java.sun.com/docs/books/jls [...] html#26783
 
je pense que mettre une spécification de package, résoudra ton problème.
 Mais la raison précise de l'erreur m'échappe (j'aurais dit que c'est une histoire de visibilité réglé par rapport au package qui rame mais le message d'erreur ne parle pas de ça).


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 25-12-2003 à 17:29:39    

tu ve dire koi par mettre une sécification du package???  
désolé j'sui pas un pro du java

Reply

Marsh Posté le 25-12-2003 à 17:34:06    

mettre
 
package org.TonEcole.TonApplication;
 
en tête de fichier, ça sert à organiser hiérachiquement les classes, on les organise par ordre d'idée, pour que se soit moins le bordel, et aussi ça permet d'avoir des classes qui portent le même nom mais qui sont dans des ordres d'idée différents.
 
quand tu écris  
import java.awt.Canvas;
tu dis que tu vas utiliser la classe Canvas du package java.awt.
 
ça veut dire que dans le source de Canvas, la première ligne est :
package java.awt;


Message édité par nraynaud le 25-12-2003 à 17:34:32

---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 25-12-2003 à 17:36:26    

ce ke tu me dis bon jje le savais deja... mais je vois pas en koi en mettant des package va arranger l'histoire

Reply

Marsh Posté le 25-12-2003 à 17:40:14    

bon je vois ca ce soir...merci je te tiens au courant

Reply

Marsh Posté le 25-12-2003 à 17:40:51    

j'ai pas bien compris non plus la spec, mais je le sens comme ça. D'autre part, il faut toujours en mettre, j'ai pas compris pourquoi ils ont laissé la possibilité de ne pas en mettre. C'est l'occasion pour toi de commencer à faire les choses bien.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 25-12-2003 à 23:05:36    

donc pour bien faire par contre si je me souviens bien fo ke je crée un rep org/monecole/monappli/ dans lekel je vous t*.java ou en entete en de fichier on aura package org.monecole.monappli

Reply

Marsh Posté le 25-12-2003 à 23:05:36   

Reply

Marsh Posté le 25-12-2003 à 23:10:38    

non, tu n'es pas obligé.
Le noms de fichier _doivent_ correspondre (autant que possible, suivant l'OS) au nom de la classe, mais le répertoire n'est pas obligé de correspondre au nom de package, tant que la JVM arrive à retrouver ses petits dans le classpath.
le dernier coup de gueule en date à ce propos :
http://www.artima.com/weblogs/view [...] read=14726


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 25-12-2003 à 23:11:41    

ben la je dl le rpm de la sdk 1.4 pour etre sur ke ca vient pas de ma version

Reply

Marsh Posté le 26-12-2003 à 02:30:57    

sous linux ca marche toujours pas malgré une install du jdk 1.4...
mais sous win ca fonctionne bien...

Reply

Marsh Posté le 26-12-2003 à 09:29:19    

airv3 a écrit :


Code :
  1. [herve@PC-herve huffman]$ make all




 
http://ant.apache.org :o

Reply

Marsh Posté le 26-12-2003 à 13:40:33    

au nivo de mon .bash_profile c koi la ligne exact ke je dois rajouter au path pour mettre les /bin de l'install du jdk1.4???

Reply

Marsh Posté le 26-12-2003 à 14:55:57    

ta variable PATH doit deja y etre, tu y ajoute le chemin du /bin du JDK... (c'est peut etre dans .bashrc selon ta distribution)


---------------
IVG en france
Reply

Marsh Posté le 27-12-2003 à 14:31:09    

g une mandrake 9.0... la variable path y est déja, mais je rajoute comment parce keg peur de faire une connerie irréparable...

Reply

Marsh Posté le 27-12-2003 à 17:16:46    

ajoute dans le fichier (bashrc ou bash_profile):
 
JAVA_HOME=/usr/local/jdk1.4.2
 
et dans le path tu ajoutes à la fin  
 
PATH=......:$JAVA_HOME/bin
 
 
 

Reply

Marsh Posté le 02-01-2004 à 15:28:32    

je l'ai fait et g toujours le meme problème...

Reply

Marsh Posté le 02-01-2004 à 15:29:41    

darklord a écrit :


et dans le path tu ajoutes à la fin  

au début s'il a des problèmes d'exécutable.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 02-01-2004 à 16:06:25    

nraynaud a écrit :

au début s'il a des problèmes d'exécutable.


fo reboot la machine pour ke les param sois pris en compte ou bien g juste a rouvrir une console?

Reply

Marsh Posté le 02-01-2004 à 16:19:31    

g toujours les mêmes problèmes :'(

Reply

Marsh Posté le 02-01-2004 à 16:56:51    

en fait je voudrai aussi que ce changement de jdk s'applique a tout mes utilisateur, sans avoir a changer leur .bash_profile un par un

Reply

Marsh Posté le 02-01-2004 à 22:41:00    

airv3 a écrit :

en fait je voudrai aussi que ce changement de jdk s'applique a tout mes utilisateur, sans avoir a changer leur .bash_profile un par un

/etc/profile


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 02-01-2004 à 22:41:13    

il faut juste relancer un shell


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 03-01-2004 à 02:43:20    

nraynaud a écrit :

il faut juste relancer un shell


ben malgré cela, g toujours le meme problème g l'impression kil prend en priorité mon encien jdk....

Reply

Marsh Posté le 03-01-2004 à 02:51:08    

echo $PATH
echo $JAVA_HOME
echo $JDK_HOME
echo $CLASSPATH
 
fait-voir les résultats de ces 4 commandes ici stp.


Message édité par nraynaud le 03-01-2004 à 02:51:47

---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 04-01-2004 à 18:04:53    

ce matin je redémarre et ca marche
g mis $PATH=$JAVA_HOME/bin:$PATH:£HOME*bin

Reply

Marsh Posté le 04-01-2004 à 18:05:57    

nraynaud a écrit :

echo $PATH
echo $JAVA_HOME
echo $JDK_HOME
echo $CLASSPATH
 
fait-voir les résultats de ces 4 commandes ici stp.


par contre qd je ve faire un echo $JAVA_HOME ca ne m'affiche rien, pareil pourle JDK_HOME  
et g pas essayer le classpath

Reply

Marsh Posté le 09-01-2004 à 08:46:11    

Code :
  1. [herve@PC-herve huffman]$ /usr/java/[version]/bin/javac Huffman.java Heap.java Tree.java Interface.java MyCanvas.java


 
Enter the full path to javac in your j2 "bin/" directory. That should work.
 
(en Google: Entrez dans le plein chemin au javac dans votre j2 "bin" annuaire.  Cela devrait fonctionner. =)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed