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 :

Petit problème facile -->au secours!


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Petit problème facile -->au secours!
    Salut et merci pour votre aide...

    Je programme depuis des dizaines d'années mais pas en Java...
    Premier code simple, premier (et pas dernier) blocage; l'erreur suivante est affichée à la compilation de ce code sous Eclipse :

    The public type Fenetre must be defined in its own file

    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
    package essai;
    import javax.swing.JFrame;
    public class Fenetre extends JFrame {
    	public Fenetre(){
    		this.setTitle("Ma première fenêtre Java");
    		this.setSize(400, 500);
    		this.setLocationRelativeTo(null);
    		this.setVisible(true);
    	}
    }
    public class java {
     
    	public static void main(String[] args) {
    			Fenetre fen = new Fenetre();
    	}
    }
    Vous detectez le problème ? de quel fichier il me parle?? merci.

    Jean Marc

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    En java, une classe doit être dans un fichier qui porte le même nom que la classe et et qui a l'extension .java.

    La classe Fenetre doit donc être dans un fichier Fenetre.java. En plus, puisqu'il y a un package indiqué (essai), ce fichier doit être mis dans un dossier qui porte le même nom que ce package, soit essai.

    Pareil pour la classe de nom java, qui doit être dans un fichier qui s'appelle java.java. Bon, j'éviterais d'appeler une classe java. En termes de conventions de nommage, par contre, l'habitude est de faire commencer les noms de classes par une majuscule. Mais ce n'est pas le principal problème : il va falloir que soit tu mettes cette classe dans le même package que la classe Fenetre, pour pouvoir y faire référence, ou, éventuellement importer la classe Fenetre en ajoutant au début du fichier java.java :
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Bon! je vois que je suis à la ramasse complète; je n'ai pas tout compris...

    je vais faire le tri avec mon bouquin entre les mots Packages, Classes, fichiers...

    Pfff! c'était simple Action Script avec son nom de fichier puis c'est tout!..

    Merci à toi...

    Si quelqu'un pouvait me donner un exemple qui ressemble au mien et qui fonctionne (afin juste d'ouvrir un fenetre fen en créant l'objet dans une classe Main() et en faisant référence à une classe pré construite comme moi.)

    But purement pédagogique pour moi en fait!... je croyais commencer très simple !

    Je repasse bientôt! bonne nuit!

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Regardes aussi les tutoriels java (bouton là, en haut de la page).

    Il fonctionne ton exemple : il faut juste que tu mettes les 2 classes dans 2 fichiers différents avec le nom adéquat, et que tu ajoutes l'import qu'il faut, ou que tu mettes les 2 classes dans le même package.

    Tu peux faire aussi comme ça, si c'est plus simple pour toi :

    fichier essai/Fenetre.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    package essai;
    import javax.swing.JFrame;
    public class Fenetre extends JFrame {
    	public Fenetre(){
    		this.setTitle("Ma première fenêtre Java");
    		this.setSize(400, 500);
    		this.setLocationRelativeTo(null);
    		this.setVisible(true);
    	}
     
    	public static void main(String[] args) {
    			Fenetre fen = new Fenetre();
    	}
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    JE viens d'essayer cela dans mon projet nommé PROJET1 et mon fichier nommé fenetre.java (sans majuscule; c'est important la casse du nom de fichier?)

    Cela ne marche toujours pas??

    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
    import javax.swing.JFrame;
    	public class Fenetre extends JFrame {
    		public Fenetre(){
    			this.setTitle("Ma première fenêtre Java");
    			this.setSize(400, 500);
    			this.setLocationRelativeTo(null);
    			this.setVisible(true);
    		}
    	}
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Fenetre fen = new Fenetre();
    	}
     
    }
    et cela non plus (ton idée) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import javax.swing.JFrame;
    	public class Fenetre extends JFrame {
    		public Fenetre(){
    			this.setTitle("Ma première fenêtre Java");
    			this.setSize(400, 500);
    			this.setLocationRelativeTo(null);
    			this.setVisible(true);
    		}
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Fenetre fen = new Fenetre();
    	}
     
    }

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Ah ben si! la dernière solution fonctionne bien maintenant...
    Je n'ai pas tout compris mais je m'y attelle ! merci...

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par speccy Voir le message
    JE viens d'essayer cela dans mon projet nommé PROJET1 et mon fichier nommé fenetre.java (sans majuscule; c'est important la casse du nom de fichier?
    C'est indispensable d'avoir la même casse.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  8. #8
    Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Le premier morceau de code ne fonctionne pas car tu as sorti la fonction main de la classe Fenetre.
    Regardes les '}' et tu verra la différence entre les 2 codes

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

Discussions similaires

  1. Service avec vb, facile même qqes petits problèmes
    Par stephpr44 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 24/11/2005, 21h11
  2. Petit problème de décimales !
    Par ridan dans le forum Langage SQL
    Réponses: 5
    Dernier message: 11/09/2004, 21h24
  3. Réponses: 17
    Dernier message: 13/07/2004, 20h37
  4. petit problème premier plan, arrière plan
    Par gros bob dans le forum OpenGL
    Réponses: 4
    Dernier message: 19/04/2004, 12h00
  5. [jointure] Petit problème sur le type de jointure...
    Par SteelBox dans le forum Langage SQL
    Réponses: 13
    Dernier message: 13/02/2004, 18h55

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