Impossible de créer un objet CardLayout ??? [Résolu] - Java - Programmation
Marsh Posté le 10-09-2003 à 12:16:44
non, pas de package oublie...
ca compile tres bien chez moi, a mon avis l'erreur vient d'ailleurs
genre, c'est quoi ton environnement ? tu serais pas sous linux avec Blackdawn ?
Marsh Posté le 10-09-2003 à 14:04:05
souk a écrit : non, pas de package oublie... |
Non non meme pas,je suis sous Windows XP avec le SDK de Sun.
Mais j'ai résolu mon problème :
j'ai ajouté ça:
Code :
|
en plus de ça :
Code :
|
et du coup ça fonctionne !! Une explication ??
Marsh Posté le 10-09-2003 à 14:27:05
ben non, c'est pas normal
Marsh Posté le 10-09-2003 à 14:42:00
T'aurais pas déclarer une classe nommée CardLayout ou un fichier CardLayout.java ???
c'est ce qu'indique l'erreur ...
Marsh Posté le 10-09-2003 à 17:43:50
benou a écrit : T'aurais pas déclarer une classe nommée CardLayout ou un fichier CardLayout.java ??? |
Si j'ai déja un fichier "CardLayout.java" mais il n'a rien à voir avec mon fichier actuel !
Marsh Posté le 10-09-2003 à 18:05:21
neo9205 a écrit : |
ben visiblement, c'est celui là qu'il essaye d'utiliser, donc ca ne doit pas avoir tant que ca rien à voir ...
j'ai relu ton post, c'est quoi ton histoire de fichier Car.java ??
remarque en passant : pas de nom de classe commençant par une minuscule !!!
Marsh Posté le 10-09-2003 à 21:45:49
neo9205 a écrit : |
il est dans le même package que ton fichier actuel ?
Marsh Posté le 10-09-2003 à 21:58:04
noldor a écrit : il est dans le même package que ton fichier actuel ? |
il a pas de packages. (voir source)
Marsh Posté le 10-09-2003 à 22:09:41
the real moins moins a écrit : il a pas de packages. (voir source) |
ah ben oui !
Marsh Posté le 11-09-2003 à 00:13:13
the real moins moins a écrit : il a pas de packages. (voir source) |
et en plus il contient pas la classe CardLayout
Marsh Posté le 11-09-2003 à 09:06:26
noldor a écrit : il est dans le même package que ton fichier actuel ? |
Non ,il est dans le meme dossier, je ne construit pas encore mes propres packages !!
Marsh Posté le 11-09-2003 à 09:08:29
benou a écrit : |
Pour le fichier Car.java, c'est tout simplement une autre création de classe (qui hérite de JFrame) que j'ai fait...,bref, rien à voir avec la compilation de mon fichier actuel (javac temp.java).
Par contre pour la majuscule à chaque début de non de classe ,c'est retenu
Marsh Posté le 11-09-2003 à 09:12:39
si il essaye de compiler Car, c'est surement qu'il y a une dépendance quelque part vers cette classe...
il faudrait aussi que tu nommes autrement la classe CardLayout : c'est pas une bonne idée d'utiliser des noms de classes existant dans l'API java
Marsh Posté le 11-09-2003 à 09:24:41
Etant donné que maintenant ça compile bien, j'essaye toujours de créer une interface de type CardLayout : (en fait je veux faire une fenetre du type des onglets système des propriétés de Windows).
Je créé donc 2 boutons pour avoir 2 onglets, puis 2 panneaux(volets de contenu),1 objet CardLayout, puis j'ajoute un bouton à chaque panneau,ensuite je lie le gestionnaire d'interface à 1 panneau (jusque là tout vas bien).Mais quand je veux mettre ça :l.show(this,"carte1" ); ça compile mais le programme plante au lancement
Vous auriez pas un exemple de création à me donner car je n'arrive pas à obtenir un conteneur d'objets CardLayout
Code :
|
Marsh Posté le 11-09-2003 à 09:27:03
benou a écrit : si il essaye de compiler Car, c'est surement qu'il y a une dépendance quelque part vers cette classe... |
Oui c'est vrai que c'est pas une bonne idée...
J'ai tout mis dans le fichier Car.java que j'ai effacé de son contenu avant
J'espère qu'il n'y a pas de classe Car.java dans un package de l'API Java
Marsh Posté le 11-09-2003 à 09:28:32
ReplyMarsh Posté le 11-09-2003 à 09:35:31
noldor a écrit : tu veux pas nous donner ton message d'erreur ? |
Voici l'erreur au lancement apres compilation:
Et voici le main mais l'erreur n'est pas là dedans :
Code :
|
Marsh Posté le 11-09-2003 à 09:42:59
il faut que tu assignes le Layout avant d'ajouter tes elements peut etre ... (ce n'est qu'un supposition, mais je pense quand meme que ca peut poser probleme)
edit: le s en gras
Marsh Posté le 11-09-2003 à 09:44:44
je connais pas bien la classe CardLayout, mais d'après ce que j'en ai compris dans la javadoc, il faut que tu fasse
l.show(pane,"carte1" );
Marsh Posté le 11-09-2003 à 09:55:37
benou a écrit : je connais pas bien la classe CardLayout, mais d'après ce que j'en ai compris dans la javadoc, il faut que tu fasse |
En effet, tu as raison, ça fonctionne de cette manière là.
Par contre, je ne vois qu'une carte,comment en créer des autres ?
Quel est le nom de celle par défaut si on fait pas un "pane.add("carte1",pa)" ??
Marsh Posté le 11-09-2003 à 09:58:38
souk a écrit : il faut que tu assignes le Layout avant d'ajouter tes elements peut etre ... (ce n'est qu'un supposition, mais je pense quand meme que ca peut poser probleme) |
Tu as raison, ça parait plus logique, mais ça ne régle pas le probleme
Marsh Posté le 11-09-2003 à 10:12:01
neo9205 a écrit : |
ben c'est à toi d'ajouter d'autres composants à pane
neo9205 a écrit : |
si tu indiques pas de nom, la cart aura certainement pas de nom
Marsh Posté le 11-09-2003 à 10:46:12
benou a écrit : |
Oui mais si j'ajoute d'autres composants à pane, ils seront tous sur la meme carte, moi je veux les ajouter sur une autre carte
Marsh Posté le 11-09-2003 à 11:01:13
neo9205 a écrit : |
comprend rien ...
t'es sûr de savoir ce que c'est le cardlayout ? va lire la javadoc, j'ai l'impression que tu as pas bien capté ...
Marsh Posté le 11-09-2003 à 11:11:53
neo9205 a écrit : |
un CardLayout, c'est pas un système d'onglet (enfin, on peut en construire un à partir d'un CardLayout, mais ça suffit pas)
c'est un layout spécial qui permet de passer d'un panel à un autre
Marsh Posté le 11-09-2003 à 13:10:22
noldor a écrit : un CardLayout, c'est pas un système d'onglet (enfin, on peut en construire un à partir d'un CardLayout, mais ça suffit pas) |
Ah oki ,donc il me manque le layout spécial pour passer d'un panel à un autre...POST clos
Marsh Posté le 10-09-2003 à 11:43:49
Voici mon minuscule prog dont le nom de fichier est "temp.java":
Quand je compile, il me dit que "class Car is public, should be declared in a file named Car.java" alors que ça concernait carrément un autre fichier java que j'avais compilé il y a 2 jours !! bref javac a l'air de déconner pas mal dès lors que je veux créer un objet CardLayout ??? Mais pourquoi ???
"Cannot access CardLayout"
"bad class file: .\CardLayout.java"
"file does not contain class CardLayout"
"Please remove or make sure it appears in the correct subdirectory of the class path"
Et quand j'enlève la ligne "CardLayout l=new CardLayout(); ", il compile parfaitement ! Aurais je oublié d'inclure un package ?!
Message édité par neo9205 le 11-09-2003 à 13:11:12