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

Langage Java Discussion :

Problème de compilation


Sujet :

Langage Java

  1. #1
    Invité
    Invité(e)
    Par défaut Problème de compilation
    Bonjour, j'ai un problème avec mon code qui est un Client de discussion.
    Lors de la compilation, le compilateur m'indique 1 erreur à la ligne 8

    Voici l'erreur: Client.java:8: class SimpleClientDiscussion is public, should be declared in a file named SimpleClientDiscussion.java
    public class SimpleClientDisccusion {

    Voici le code :
    import java.io.*;
    import java.net.*;
    import java.util.*;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;

    public class SimpleClientDiscussion {

    JTextArea entrants;
    JTextField sortants;
    BufferedReader lecture;
    PrintWriter ecriture;
    Socket sock;

    public static void main(String[] args) {
    SimpleClientDiscussion client = new SimpleClientDiscussion();
    client.go() ;
    }

    public void go() {

    JFrame cadre = new JFrame("Client de discussion");
    JPanel panneau = new JPanel();
    entrants = new JTextArea(15,50);
    entrants.setLineWrap(true) ;
    entrants.setWrapStyleWord(true);
    entrants.setEditable(false);
    JScrollPane zoneTexte = new JScrollPane(entrants);
    zoneTexte.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
    zoneTexte.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
    sortants = new JTextField(20);
    JButton boutonEnvoi = new JButton("Envoi");
    boutonEnvoi.addActionListener(new EcouteBouttonEnvoi() );
    panneau.add(zoneTexte);
    panneau.add(sortants);
    panneau.add(boutonEnvoi);
    installerReseau();

    Thread threadLecture = new Thread(new LectureEntrants() );
    threadLecture.start();

    cadre.getContentPane().add(BorderLayout.CENTER, panneau);
    cadre.setSize(400,500);
    cadre.setVisible(true);

    } //fin de la méthode go()

    private void installerReseau() {

    try {
    sock = new Socket("127.0.0.1", 5000);
    InputStreamReader isr = new InputStreamReader(sock.getInputStream() );
    lecture = new BufferedReader(isr);
    ecriture = new PrintWriter(sock.getOutputStream() );
    System.out.println("Connexion établie") ;
    } catch(IOException ex) {
    ex.printStackTrace();
    }
    } // fin de la méthode installer réseau()


    public class EcouteBouttonEnvoi implements ActionListener {
    public void actionPerformed(ActionEvent ev) {
    try {
    ecriture.println(sortants.getText() );
    ecriture.flush();

    } catch(Exception ex) {
    ex.printStackTrace();
    }
    sortants.setText("");
    sortants.requestFocus();
    }
    } // fin de la classe interne

    public class LectureEntrants implements Runnable {
    public void run() {
    String message;
    try {

    while ((message = lecture.readLine() ) != null) {
    System.out.println("lire" + message);
    entrants.append(message + "\n");
    } // fin de la boucle while
    } catch(Exception ex) {ex.printStackTrace();}
    } // fin de la méthode run()
    } // fin de la classe interne
    } // fin de la classe externe


    Merci de votre aide.
    Dernière modification par Invité ; 27/05/2007 à 13h05.

  2. #2
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    C'est à cause du module DFC à l'offset 0XA02F0011 !
    Plus sérieusement, tu peux mettre l'intitulé exacte des erreurs ( on peut pas deviner... ) ?
    - les numéros de lignes correspondent au code que tu as mis ? car par exemple la ligne 8 ( déclaration de la classe ) ne comporte pas d'erreur.
    - utilise les balises "CODE" pour mettre ton code car comme ça c'est illisible.
    - "Client.go();" avec une miniscule à client, ça marchera mieux.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Voila c'est bon j'ai corrigé mon premier message.
    J'ai réussi a corriger 8 erreurs mais pas la dernière.

  4. #4
    Invité
    Invité(e)
    Par défaut
    salut,
    Client.java:8: class SimpleClientDiscussion is public, should be declared in a file named SimpleClientDiscussion.java
    en java la classe doit être sauvegardé dans un fichier portant le même nom qu'elle :
    la classe SimpleClientDiscussion dans un fichier nommé SimpleClientDiscussion.java.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Je dois donc réécrire la classe SimpleClientDiscussion dans un autre fichier "SimpleClientDiscussion.java"? Si oui, quel contenu dois-je précisément copier?
    Merci.
    PS: Désolé, je débute en Java .

  6. #6
    Invité
    Invité(e)
    Par défaut
    salut,
    le corps de la classe SimpleClientDiscussion dans un fichier SimpleClientDiscussion.java
    et le corps de la classe LectureEntrants dans un fichier LectureEntrants.java

  7. #7
    Invité
    Invité(e)
    Par défaut
    J'ai fait ce que tu m'as dit de faire mais ca ne fonctionne pas.

  8. #8
    Invité
    Invité(e)
    Par défaut
    C'est bon ca marche!!
    Merci beaucoup de votre aide.
    En fait, j'avais juste à modifier le nom du fichier.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bon bin maintenant j'ai encore un nouveau problème. J'ai compilé mon fichier java, tout marche, les fichiers class apparaissent mais il me dit qu'il y a une erreur lorsque j'essaie de lancer l'application.
    La voici : Exception in thread "main" java.lan.NoClassDefFoundError: SimpleClientDIscussion.
    Voilà

  10. #10
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Exception in thread "main" java.lan.NoClassDefFoundError: SimpleClientDIscussion.
    tu as fais un faute de frappe dans le nom de ta classe c'est SimpleClientDiscussion (avec un i minuscule)

  11. #11
    Invité
    Invité(e)
    Par défaut
    Bon, j'ai tout recompilé en prenant soin de mettre Discussion avec un i miniscule mais rien à faire:
    Exception in thread "main" java.lang.NoClassDefFoundError: SimpleClientDiscussion.
    Je ne comprends pas

  12. #12
    Invité
    Invité(e)
    Par défaut
    C'est bon, tout est réglé, j'avais juste omis de mentionner le CLASSPATH dans les variables d'environnement.
    Merci à vous tous!!

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

Discussions similaires

  1. problème de compilation sous visual C++
    Par fabmili dans le forum MFC
    Réponses: 4
    Dernier message: 08/02/2004, 19h52
  2. problème de compil devc++ socket
    Par stefdem dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 11/12/2003, 11h33
  3. Réponses: 1
    Dernier message: 29/10/2003, 12h16
  4. Problème de compilation de la DLL du XMLRad
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 2
    Dernier message: 16/04/2003, 16h46
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

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