Partage
  • Partager sur Facebook
  • Partager sur Twitter

MOOC Apprenez à programmer en Java

    19 janvier 2016 à 13:01:01

    Merci!

    Effectivement je vois les interfaces dans le package maintenant. Merci beaucoup. Après c'est une question de point de vue pour ce qui est de montrer la définition des interfaces. Mais ne pas les mettrent est un choix tout a fait justifiable.

    • Partager sur Facebook
    • Partager sur Twitter
    A
      19 janvier 2016 à 22:09:27

      AxelHuberty a écrit:

      LeQuébécoisGeek a écrit:

      Bonjour, 

      je suis en train de réaliser le TP calculatrice et je ne comprends pas une partie du code de correction:

      if(operateur.equals("+")){
            chiffre1 = chiffre1 + 
                  Double.valueOf(ecran.getText()).doubleValue();
            ecran.setText(String.valueOf(chiffre1));
          }

      Je ne vois comment ce code permet par exemple d'aller chercher le deuxième chiffre après l'opérateur. Pour ce qui est du premier tout va bien, mais pour le deuxième j'aimerais bien comprendre svp!

      Merci!


      Dans le bout de code que tu donnes, on voit que l'on addition la variable "chiffre1" avec la valeur double de "ecran.getText()".

      Il faut comprendre que lorsque l'on demande l'addition (la première fois), on ne calcul pas encore, on stock l'opérateur dans une variable (opérateur) et on stock la valeur de l'écran dans "chiffre1". Une fois que l'on a inséré le nombre suivant et que l'on clic sur un opérateur, la méthode calcul sera exécute. Et dans la méthode, on va reprendre le nombre précédént et l'ajouter/ le soustraire / le multiplier/ le diviser par le nombre présent dans l'écran.

      Le plus compliqué a comprendre et la condition qui revient dans chaque listener d'opérateur

      if(clicOperateur){
              calcul();
              ecran.setText(String.valueOf(chiffre1));
      } else {
              chiffre1 = Double.valueOf(ecran.getText()).doubleValue();
              clicOperateur = true;
      }

      Cette condition peut se lire comme :

      Est ce que j'ai déjà un opérande stocké dans chiffre1,

          oui alors je dois faire le calcul suivante :

       opérande = opérande opérateur Double.valueOf(ecran.getText()).doubleValue();

          non, alors je vais enregistrer ma première opérande.

       opérande = Double.valueOf(ecran.getText()).doubleValue();

       En espérant avoir été clair.

      Axel

      Oui, merci beaucoup!

      -
      Edité par AxelHuberty hier à 9:54



      • Partager sur Facebook
      • Partager sur Twitter
        20 janvier 2016 à 12:52:40

        Bonjour, lorsque j'ouvre ma jvm elle se ferme automatiquement, quelqu'un a ou a eu ce problème ? Et quelqu'un aurait une solution s'il vous plaît ?
        • Partager sur Facebook
        • Partager sur Twitter
          20 janvier 2016 à 16:34:29

          SemIrwin a écrit:

          Bonjour, lorsque j'ouvre ma jvm elle se ferme automatiquement, quelqu'un a ou a eu ce problème ? Et quelqu'un aurait une solution s'il vous plaît ?

          Si tu l'ouvre depuis l'invite de commande il faudrait savoir que c'est un programme (java.exe) et il faudrait lui passer en paramètre ton byte code sans l'extention ".class" (il s'agit ici du byte code de ta classe principale)





          -
          Edité par FarelWAMBATOUATSA 20 janvier 2016 à 16:35:02

          • Partager sur Facebook
          • Partager sur Twitter
            22 janvier 2016 à 11:00:04

            bonjour, j'en suis au premier programme et j'ai voulu compiler en ligne de commande. d'abord ça ne fonctionne pas (j'ai créé le fichier .class mais je ne peux pas le lancer) et de plus je ne peux plus lancer eclipse.  dans CMD j'ai le message suivant:

            "Error occurred during initialization of VM

            java/lang/NoClassDefFoundError: java/lang/Object

            je suis sous windows 10. merci de me dire si et où j'ai planté et comment y remédier.

            cordialement

            • Partager sur Facebook
            • Partager sur Twitter
              22 janvier 2016 à 12:24:30

              FrancisBrebion a écrit:

              bonjour, j'en suis au premier programme et j'ai voulu compiler en ligne de commande. d'abord ça ne fonctionne pas (j'ai créé le fichier .class mais je ne peux pas le lancer) et de plus je ne peux plus lancer eclipse.  dans CMD j'ai le message suivant:

              "Error occurred during initialization of VM

              java/lang/NoClassDefFoundError: java/lang/Object

              je suis sous windows 10. merci de me dire si et où j'ai planté et comment y remédier.

              cordialement

               Bonjour,

              je ne sais pas si j'ai bien compris ton problème.

              Est ce que tu as bien mis le lien vers le dossier bin de ton jdk dans ta variable d'environnement PATH?

              Sinon, est ce que tu as spécifié le chemin complet pour accéder au programme javac.exe situé dans le dossier bin de ton jdk car c'est lui le compilateur et après tu dois lui passer en paramètre ton fichier source avec son extension (.java) et il va te générer ensuite le byte code (.class) que tu pourras à nouveau passer en paramètre de ton programme java.exe pour l'exécuter

              Il faudrait aussi vérifier que ton dossier jdk ou ton dossier jre contient bien le programme java.exe car c'est ça la machine virtuelle et j'ai comme l'impression (d'après ton erreur) que tu n'arrive plus à la charger

              • Partager sur Facebook
              • Partager sur Twitter
                22 janvier 2016 à 15:38:03

                Bonjour, je suis au chapitre nommé "Votre première classe" à la partie des accesseurs et lorsque j'essaie de les utiliser pour instancier l'objet Ville dans la méthode Main ça me marque des messages d'erreur, mais c'est mieux une image pour que vous disiez ce qui ne va pas dans le code. C'est le code utilisé dans l'objet Ville.
                public class Ville {
                 
                	  String nomVille;
                	  String nomPays;
                	  int nbreHabitants;
                	 
                	  public Ville(){
                	    System.out.println("Création d'une ville !");          
                	    nomVille = "Inconnu";
                	    nomPays = "Inconnu";
                	    nbreHabitants = 0;
                	  }
                	 
                	 
                	  public Ville(String pNom, int pNbre, String pPays)
                	  {
                	    System.out.println("Création d'une ville avec des paramètres !");
                	    nomVille = pNom;
                	    nomPays = pPays;
                	    nbreHabitants = pNbre;

                Et là c'est le code que j'utilise dans l'autre classe dans la méthode mainje ne comprends pas où est l'erreur

                • Partager sur Facebook
                • Partager sur Twitter
                  22 janvier 2016 à 15:43:45

                  Finalement ça va, j'ai corrigé l'erreur
                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 janvier 2016 à 16:41:10

                    FarelWAMBATOUATSA a écrit:

                    FrancisBrebion a écrit:

                    bonjour, j'en suis au premier programme et j'ai voulu compiler en ligne de commande. d'abord ça ne fonctionne pas (j'ai créé le fichier .class mais je ne peux pas le lancer) et de plus je ne peux plus lancer eclipse.  dans CMD j'ai le message suivant:

                    "Error occurred during initialization of VM

                    java/lang/NoClassDefFoundError: java/lang/Object

                    je suis sous windows 10. merci de me dire si et où j'ai planté et comment y remédier.

                    cordialement

                     Bonjour,

                    je ne sais pas si j'ai bien compris ton problème.

                    Est ce que tu as bien mis le lien vers le dossier bin de ton jdk dans ta variable d'environnement PATH?

                    Sinon, est ce que tu as spécifié le chemin complet pour accéder au programme javac.exe situé dans le dossier bin de ton jdk car c'est lui le compilateur et après tu dois lui passer en paramètre ton fichier source avec son extension (.java) et il va te générer ensuite le byte code (.class) que tu pourras à nouveau passer en paramètre de ton programme java.exe pour l'exécuter

                    Il faudrait aussi vérifier que ton dossier jdk ou ton dossier jre contient bien le programme java.exe car c'est ça la machine virtuelle et j'ai comme l'impression (d'après ton erreur) que tu n'arrive plus à la charger

                    bonjour, je n'arrive plus à lancer eclipse. j'ai bien un fichier java et un fichier javac (voir ci dessous) mais comment savoir si ils fonctionnent.

                    j'ai réussi à passer de bbn1.java à bbn1.class mais depuis plus rien du coté d'eclipse ni de java.



                    • Partager sur Facebook
                    • Partager sur Twitter
                      22 janvier 2016 à 17:33:07

                      Si dans la console vous savez compiler

                      javac bbn1.java


                      Alors le problème ne vient pas du jdk.

                      java bbn1

                      Devrait s'executer sans problème. Qu'elle est le message d'erreur ?

                      Pour éclipse, l'erreur semble venir de la JVM et de Windows. Est ce que vous fonctionner sur un windows 64bits ? Si oui, est ce que vous avez installé le jdk 64bits ?

                      L'erreur proviendrait de la mémoire allouer a la JVM par windows.

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Un accès premium d'un mois avec le code AXEL-8RR3 C'est cadeau et c'est illimité !
                        22 janvier 2016 à 19:10:02

                        AxelHuberty a écrit:

                        Si dans la console vous savez compiler

                        javac bbn1.java


                        Alors le problème ne vient pas du jdk.

                        java bbn1

                        Devrait s'executer sans problème. Qu'elle est le message d'erreur ?

                        Pour éclipse, l'erreur semble venir de la JVM et de Windows. Est ce que vous fonctionner sur un windows 64bits ? Si oui, est ce que vous avez installé le jdk 64bits ?

                        L'erreur proviendrait de la mémoire allouer a la JVM par windows.

                        bonsoir, le message d'erreur est: "Error occurred during initialization of VM

                        java/lang/NoClassDefFoundError: java/lang/Object".

                        j'ai bien installé le jdk 64 bits .

                        si l'erreur vient de la mémoire allouée par windows comment y remédier?

                        et pourquoi eclipse ne se lance plus?

                        merci.

                        • Partager sur Facebook
                        • Partager sur Twitter
                          22 janvier 2016 à 19:23:29

                          Tu peux essayer ceci déjà :

                          http://stackoverflow.com/questions/14109079/error-occured-during-initialization-of-vm-java-lang-noclassdeffounderror-java

                          Il est vrai que je configure directement eclipse pour éviter les problèmes, mais je ne me rappelle pas que c'était ce message d'erreur.

                          • Partager sur Facebook
                          • Partager sur Twitter
                          Un accès premium d'un mois avec le code AXEL-8RR3 C'est cadeau et c'est illimité !
                            22 janvier 2016 à 19:43:11

                            bonjour tous le monde 

                            j'ai un problem avec ce programme pouvez vous m'aider a l'identifier ? merci d'avance :) !

                            package exos;

                            import java.util.Scanner;

                            public class Ex1 {

                            public static void main(String[] args) {

                            Scanner sc=new Scanner(System.in);

                            boolean rep=true;

                            char reponse;

                            String str;

                            do

                            {System.out.println("entrez un entier");

                            int nb=sc.nextInt();

                            if(nb<0){

                            System.out.println("le nombre est negatif");

                            }

                            else

                            {

                            System.out.println("le nombre est positif");

                            }

                            if((nb%2)==0)

                            {

                            System.out.println("le nombre est paire");

                            }

                            else

                            {

                            System.out.println("le nombre est impaire");

                            }

                            System.out.println("voulez vous entrer un autre nombre ? \n si oui tappez Y sinon tappez N");

                            str=sc.nextLine();

                            reponse = str.charAt(0);

                            if(reponse=='N')

                            {

                            rep=false;

                            }

                            • Partager sur Facebook
                            • Partager sur Twitter
                              22 janvier 2016 à 19:44:18

                              voila ceque la console m'affiche:

                              entrez un entier

                              10

                              le nombre est positif

                              le nombre est paire

                              voulez vous entrer un autre nombre ? 

                               si oui tappez Y sinon tappez N

                              Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0

                              at java.lang.String.charAt(String.java:658)

                              at exos.Ex1.main(Ex1.java:30)

                              • Partager sur Facebook
                              • Partager sur Twitter
                                22 janvier 2016 à 20:46:20

                                Je ne peux que te conseiller de lire l'erreur

                                StringIndexOutOfBoundsException : String index out of range : 0 //L'explication de l'erreur
                                    at java.lang.String.charAt(...) //La fonction qui a provoqué l'erreur
                                    at exos.Ex1.main(Ex1.java:30) // l'endroit de ton code ou cela a planté (ligne 30 dans Ex1) 



                                Lire que lors d'un appel a charAt (a la ligne 30), tu as dépassé la longue de ton String, ton String est vide (range : 0).

                                -
                                Edité par AxelHuberty 22 janvier 2016 à 20:47:05

                                • Partager sur Facebook
                                • Partager sur Twitter
                                Un accès premium d'un mois avec le code AXEL-8RR3 C'est cadeau et c'est illimité !
                                  22 janvier 2016 à 22:24:13

                                  AxelHuberty a écrit:

                                  Tu peux essayer ceci déjà :

                                  http://stackoverflow.com/questions/14109079/error-occured-during-initialization-of-vm-java-lang-noclassdeffounderror-java

                                  Il est vrai que je configure directement eclipse pour éviter les problèmes, mais je ne me rappelle pas que c'était ce message d'erreur.


                                  ça n'a pas fonctionné, j'ai désinstallé jre et jdk et j'ai tout réinstallé. eclipse fonctionne mais je ne peux pas lancer bbn1.class depuis cmd, le nouveau message est: "C:\Users\francis\workspace\projet1\bin\projet1>java bbn1
                                  Erreur : impossible de trouver ou charger la classe principale bbn1". merci de m'aider. cordialement.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    23 janvier 2016 à 0:56:34

                                    très bon tuto, j'ai même acheter le livre!

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    sudbina :)
                                      23 janvier 2016 à 7:14:26

                                      Bonjour, 

                                      Quelqu'un peut-il m'aider ?

                                      J'ai téléchargé PostgreSQL version 9.5 pour windows-32 pour commencer à utiliser les bases de données.

                                      La version chargée semble totalement différente de celle présentée dans le cours "Apprenez à programmer en Java". Par exemple . je ne trouve pas la fenêtre "ajouter une colonne".

                                      Quelqu'un peut-il me conseiller une version plus ancienne et laquelle pour qu'elle corresponde au cours ?

                                      Merci d'avance

                                      Jean-Pierre 

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        23 janvier 2016 à 23:38:17

                                        didih a écrit:

                                        voila ce que la console m'affiche:

                                        entrez un entier
                                        10
                                        le nombre est positif
                                        le nombre est paire
                                        voulez vous entrer un autre nombre
                                        si oui tapez Y sinon tappez N

                                        Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
                                        at java.lang.String.charAt(String.java:658)
                                        at exos.Ex1.main(Ex1.java:30)

                                        Pour aller un peu plus loin que la réponse lapidaire de AxelHuberty, la réponse a déjà été donnée ici :

                                        https://openclassrooms.com/forum/sujet/mooc-apprenez-a-programmer-en-java-2?page=15#message-89732290

                                        Pour faire court il y a un "newline" dans le buffer de clavier qui n'est pas pris en compte par NextLine(),  il faut sauter le newline avec un premier nextLine() avant de demander "Voulez vous taper un autre nombre ? et ensuite relire la réponse avec nextline.

                                        Voilà, voilà...

                                        P.S. pour écrire du code dans un post c'est plus joli avec le bouton </> en haut de la zone de texte



                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          23 janvier 2016 à 23:39:12

                                          Saluts à tous, je suis actuellement en train de faire le TP garage et il y a un truc que je ne saisi pas : voici un extrait du code de test fourni:

                                          "Vehicule lag2 = new Lagouna();
                                             lag2.setMoteur(new MoteurDiesel("500 Hdi", 456987d));
                                             garage.addVoiture(lag2);"

                                          et voici ce qu c'est sensé renvoyer


                                          le problème, c'est que je ne vois pas le rapport entre "456987d" et 23123€. quelqu'un peut il m'éclairer?

                                          Merci d'avance

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            24 janvier 2016 à 19:40:21

                                            Bonsoir tout le monde, 

                                            j'ai un petit soucis avec l'orienté objet pourriez-vous m'aider à comprendre svp ? :).

                                            A l'école on nous a demandé de créer une class Moment avec les attributs (privé) suivants, ( heures, minutes, secondes : entiers),

                                            ensuite ajouter un constructeur et les accesseurs pour chaque  attribut. la je pense que je m'en suis bien sorti, 

                                            package mainmoment;
                                            
                                            public class Moment {
                                                
                                                private int heures;
                                                private int minutes;
                                                private int secondes;
                                                
                                                public Moment(int uneHeure, int uneMinute, int uneSeconde) {
                                                    heures = uneHeure;
                                                    minutes = uneMinute;
                                                    secondes = uneSeconde;
                                                }
                                                
                                                public int getHeures() {
                                                    return heures;
                                                }
                                                
                                                public int getMinutes() {
                                                    return minutes;
                                                }
                                                
                                                public int getSecondes() {
                                                    return secondes;
                                                }
                                                
                                                public void setHeures(int uneHeures) {
                                                    if(uneHeures < 0 || uneHeures > 23) {
                                                        throw new IllegalArgumentException("Entrez des heures entre 0 et 23");
                                                    }
                                                    heures = uneHeures;
                                                } 
                                            
                                                public void setMinutes(int uneMinutes) {
                                                    if(uneMinutes < 0 || uneMinutes > 60) {
                                                        throw new IllegalArgumentException("Entrez des minutes entre 0 et 60");
                                                    }
                                                    minutes = uneMinutes;
                                                }
                                                
                                                public void setSecondes(int uneSecondes) {
                                                    if(uneSecondes < 0 || uneSecondes > 60) {
                                                        throw new IllegalArgumentException("Entrez des secondes entre 0 et 60");
                                                    }
                                                    secondes = uneSecondes;
                                                }
                                            }

                                            ensuite, dans le main je dois créer un (moment1 : Moment),

                                            package mainmoment;
                                            
                                            public class MainMoment {
                                                public static void main(String[] args) {
                                                    Moment moment1 = new Moment(0,0,0);
                                                    
                                                    moment1.setHeures(13);
                                                    moment1.setMinutes(01);
                                                    moment1.setSecondes(20); 
                                                    System.out.println(moment1.getHeures() + ":" + moment1.getMinutes() + ":" +
                                                            moment1.getSecondes());
                                                    
                                                    
                                                }
                                            }

                                            et après je suis censé créer une méthode toString() qui renvoi une chaine qui ressemble à (13:01:20) le gros problème c'est que je ne comprend pas pourquoi à chaque fois que j'essaie d'appeler la méthode toString() ça me renvoie  monPackage.maClasse suivi d'un (@) et un nombre en hexa, pourriez-vous m'expliquer pourquoi et me montrer la bonne manière de faire svp?.

                                            Merci d'avance. 



                                            -
                                            Edité par killitosan 24 janvier 2016 à 19:40:45

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              24 janvier 2016 à 20:20:15

                                              Salut à toi. je ne suis pas expert en java, mais ton problème est le suivant:

                                              Si tu ne redéfinit pas la méthode toString dans ta classe et que tu appelle cette dernière, c'est la méthode toString de la classe mere qui est appelée(d'où tes nombre bizarres). tu doit redéfinir ta méthode dans la classe "Moment" comme ceci:

                                              public String toString(){

                                              String str = new String

                                              str = moment1.getHeures()...

                                              return str;

                                              et après tu pourra l'appeler sans problèmes

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                24 janvier 2016 à 20:45:41

                                                killitosan a écrit:

                                                Bonsoir tout le monde, 

                                                j'ai un petit soucis avec l'orienté objet pourriez-vous m'aider à comprendre svp ? :).

                                                A l'école on nous a demandé de créer une class Moment avec les attributs (privé) suivants, ( heures, minutes, secondes : entiers),

                                                ensuite ajouter un constructeur et les accesseurs pour chaque  attribut. la je pense que je m'en suis bien sorti, 

                                                package mainmoment;
                                                
                                                public class Moment {
                                                    
                                                    private int heures;
                                                    private int minutes;
                                                    private int secondes;
                                                    
                                                    public Moment(int uneHeure, int uneMinute, int uneSeconde) {
                                                        heures = uneHeure;
                                                        minutes = uneMinute;
                                                        secondes = uneSeconde;
                                                    }
                                                    
                                                    public int getHeures() {
                                                        return heures;
                                                    }
                                                    
                                                    public int getMinutes() {
                                                        return minutes;
                                                    }
                                                    
                                                    public int getSecondes() {
                                                        return secondes;
                                                    }
                                                    
                                                    public void setHeures(int uneHeures) {
                                                        if(uneHeures < 0 || uneHeures > 23) {
                                                            throw new IllegalArgumentException("Entrez des heures entre 0 et 23");
                                                        }
                                                        heures = uneHeures;
                                                    } 
                                                
                                                    public void setMinutes(int uneMinutes) {
                                                        if(uneMinutes < 0 || uneMinutes > 60) {
                                                            throw new IllegalArgumentException("Entrez des minutes entre 0 et 60");
                                                        }
                                                        minutes = uneMinutes;
                                                    }
                                                    
                                                    public void setSecondes(int uneSecondes) {
                                                        if(uneSecondes < 0 || uneSecondes > 60) {
                                                            throw new IllegalArgumentException("Entrez des secondes entre 0 et 60");
                                                        }
                                                        secondes = uneSecondes;
                                                    }
                                                }

                                                ensuite, dans le main je dois créer un (moment1 : Moment),

                                                package mainmoment;
                                                
                                                public class MainMoment {
                                                    public static void main(String[] args) {
                                                        Moment moment1 = new Moment(0,0,0);
                                                        
                                                        moment1.setHeures(13);
                                                        moment1.setMinutes(01);
                                                        moment1.setSecondes(20); 
                                                        System.out.println(moment1.getHeures() + ":" + moment1.getMinutes() + ":" +
                                                                moment1.getSecondes());
                                                        
                                                        
                                                    }
                                                }

                                                et après je suis censé créer une méthode toString() qui renvoi une chaine qui ressemble à (13:01:20) le gros problème c'est que je ne comprend pas pourquoi à chaque fois que j'essaie d'appeler la méthode toString() ça me renvoie  monPackage.maClasse suivi d'un (@) et un nombre en hexa, pourriez-vous m'expliquer pourquoi et me montrer la bonne manière de faire svp?.

                                                Merci d'avance. 



                                                -
                                                Edité par killitosan il y a environ 1 heure

                                                Bonsoir, 

                                                En fait il faut savoir qu'en java toutes les classes héritent de la classe Object et c'est dans cette classe que la méthode toString() est définie. Ce que tu dois faire c'est la substituer dans ta classe afin d'adapter l'affichage de tes objets sinon tu auras l'affichage par défaut (c'est-à dire celle que tu as maintenant)

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  24 janvier 2016 à 21:42:54

                                                  package pack_TI;
                                                  
                                                  import pack_TI.JImageViewer;
                                                  
                                                  import java.awt.BorderLayout;
                                                  import java.awt.EventQueue;
                                                  import java.awt.GridLayout;
                                                  import javax.imageio.ImageIO;
                                                  import javax.swing.JFrame;
                                                  import javax.swing.JPanel;
                                                  import javax.swing.border.EmptyBorder;
                                                  import javax.swing.JButton;
                                                  import javax.swing.JFileChooser;
                                                  import javax.swing.JLabel;
                                                  import javax.swing.JScrollPane;
                                                  import javax.swing.JTextArea;
                                                  import javax.swing.border.LineBorder;
                                                  import java.awt.Color;
                                                  import java.awt.event.ActionEvent;
                                                  import java.awt.event.ActionListener;
                                                  import java.awt.image.BufferedImage;
                                                  import java.io.File;
                                                  import java.io.IOException;
                                                  
                                                  public class TI extends JFrame implements ActionListener {
                                                  
                                                  	private static final long serialVersionUID = 1L;
                                                  	private JPanel contentPane;
                                                  	private JButton btnNewButton;
                                                  	private JFileChooser fc;
                                                  	private BufferedImage bufMonImage=null;
                                                  	private JImageViewer imgImageViewer=null;
                                                  	private JTextArea textArea;
                                                  
                                                  	public static void main(String[] args) {
                                                  		
                                                  		EventQueue.invokeLater(new Runnable() {
                                                  			public void run() {
                                                  				try {
                                                  					TI frame = new TI();
                                                  					frame.setVisible(true);
                                                  				}
                                                  				catch (Exception e) {
                                                  					e.printStackTrace();
                                                  				}
                                                  			}
                                                  		});
                                                  	}
                                                  
                                                  	public TI() {
                                                  		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                                                  		setBounds(50, 50, 1020, 475);
                                                  		setTitle("Mon application");
                                                  		
                                                  		contentPane = new JPanel();
                                                  		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
                                                  		setContentPane(contentPane);
                                                  		contentPane.setLayout(new BorderLayout(0, 0));
                                                  		
                                                  		JPanel panel_0 = new JPanel();
                                                  		panel_0.setBorder(new LineBorder(new Color(0, 0, 0)));
                                                  		contentPane.add(panel_0, BorderLayout.NORTH);
                                                  		
                                                  		btnNewButton = new JButton("Exécution");
                                                  		btnNewButton.addActionListener(this);
                                                  		panel_0.add(btnNewButton);
                                                  		
                                                  		JPanel panel_1 = new JPanel();
                                                  		panel_1.setBorder(new LineBorder(new Color(0, 0, 0)));
                                                  		panel_1.setLayout(new BorderLayout(0, 0));
                                                  		JPanel panel_2 = new JPanel();
                                                  		panel_2.setBorder(new LineBorder(new Color(0, 0, 0)));
                                                  		panel_2.setLayout(new BorderLayout(0, 0));
                                                  		
                                                  		JPanel panel_inter = new JPanel();
                                                  		panel_inter.setLayout(new GridLayout(1, 2));
                                                  		panel_inter.add(panel_1);
                                                  		panel_inter.add(panel_2);
                                                  		
                                                  		contentPane.add(panel_inter, BorderLayout.CENTER);
                                                  		
                                                  		JLabel lblGauche = new JLabel(" Commentaire à gauche");
                                                  		textArea = new JTextArea();
                                                  		textArea.setBackground(new Color(255,255,150));
                                                  		JScrollPane scrollPane = new JScrollPane(textArea);
                                                  		panel_1.add(scrollPane,BorderLayout.CENTER);
                                                  		panel_1.add(lblGauche,BorderLayout.SOUTH);
                                                  		JLabel lblDroite = new JLabel(" Commentaire à droite");
                                                  		imgImageViewer=new JImageViewer();
                                                  		panel_2.add(imgImageViewer,BorderLayout.CENTER);
                                                  		panel_2.add(lblDroite,BorderLayout.SOUTH);
                                                  	}
                                                  	
                                                  	@Override
                                                  	public void actionPerformed(ActionEvent arg0) {
                                                  		if (arg0.getSource() == btnNewButton){
                                                  	        
                                                  			
                                                  			
                                                  	            System.out.println("Le code saisi est : "+ textArea.getText());
                                                  	            // ZONE pour le traitement sur l'image ouverte
                                                  	            
                                                  	 String code = textArea.getText();
                                                  	 int x ;
                                                  	 x=0;
                                                  	 int i;
                                                  	 int j;
                                                  	 char a;
                                                  	 char b;
                                                  	 int y;
                                                  	 char Code;
                                                  	 int CodeD;
                                                  	 String CodeAsciiS;
                                                  	 int []CdB = new int[x*4+8];
                                                  	 int w = code.length()*5+10;
                                                  	 int h= w*(3506/10000);
                                                  	 int somme;
                                                  	 int n;
                                                  	 int m;
                                                  
                                                  	x= code.length();
                                                  	 m=5;
                                                  	somme=0;
                                                  	 n=10110;
                                                  	 
                                                  	 
                                                  	 for(i=0;i<x;i++)
                                                  		{
                                                  			a = code.charAt(i);
                                                  			
                                                  			/*Code = (char) a;
                                                  			CodeD = Code;
                                                  			CodeAsciiS = Integer.toBinaryString(CodeD);*/
                                                  			
                                                  			
                                                  			Code= (char) a;
                                                  			CodeD=Code;
                                                  			CodeD= (new Character(a)).hashCode();
                                                  			String binaryString = Integer.toBinaryString(CodeD);
                                                  			System.out.println(binaryString);
                                                  			/*int monAsci = (new Character(lettre)).hashCode();
                                                  			String binaryString = Integer.toBinaryString(monAsci);
                                                  			System.out.println(binaryString);*/
                                                  
                                                  			
                                                  			for(j=0;j<CodeD.length();j++)
                                                  			{
                                                  				
                                                  				m=m+5;
                                                  				b = CodeAsciiS.charAt(j);
                                                  				if (b==1)
                                                  				{
                                                  					for(y=0;y!=h;y++)
                                                  					{
                                                  					CdB [y*w+x] = (255<<24)|(0<<16)|(0<<8)|(0<<0);
                                                  					}
                                                  				}
                                                  				
                                                  				else
                                                  				{
                                                  					for(y=0;y!=h;y++)
                                                  					{
                                                  					CdB [y*w+x] = (255<<24)|(255<<16)|(255<<8)|(255<<0);
                                                  					}
                                                  				}
                                                  			}
                                                  			
                                                  			if (CodeD<48 | CodeD>57)
                                                  				
                                                  				  
                                                  			{
                                                  				//JOptionPane.showMessageDialog(null, "Veuillez saisir un code valide uniquement composé de chiffres", "Erreur dans la saisie","Erreur");//
                                                  				//("Veuillez saisir un code valide uniquement composé de chiffres" );//	
                                                  			}
                                                  		}
                                                       
                                                  		
                                                  				
                                                  	 
                                                  	  imgImageViewer.setImage(bufMonImage);
                                                  			
                                                  	    		try {
                                                  	    			ImageIO.write(bufMonImage, "gif", new File("./MonImage.gif"));
                                                  	    		} catch (IOException e) {
                                                  	    			e.printStackTrace();
                                                  	    	}
                                                  	       
                                                  		}
                                                  	}
                                                  }
                                                  
                                                  
                                                  Voici mon code pour réaliser un code barre mais celui ci ne marche quelqu'un pourrait il m'aider ?
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    24 janvier 2016 à 21:50:13

                                                    Bonjour,

                                                    J'aimerais comprendre pourquoi le cours utilise encore les packages liés à swing alors que Java utilise depuis la version 8 JavaFX par défaut, c'est normal ?

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      24 janvier 2016 à 22:10:13

                                                      ThomasGerard a écrit:

                                                      Voici mon code pour réaliser un code barre mais celui ci ne marche quelqu'un pourrait il m'aider ?

                                                      Je ne sais pas trop, tu veux qu'il court ? ;)

                                                      Plus sérieusement, essaye d'expliquer ce qui ne va pas pour commencer.

                                                      @Nucro, je serais tenté de te donner comme idée :

                                                      • JavaFX n'était pas trop apprécié lors de la création du MOOC. Personnellement, j'utilise encore Swing par manque de temps (apprentissage d'une autre API).
                                                      • Swing se retrouve dans de nombreuses applications, donc c'est plus pratique de connaitre une solution largement utilisé.

                                                      Et je ne dirais pas que java utilise JavaFX par défaut, juste que Swing est désormais déprécié, en dehors des bugs qui seront encore corrigé. Mais dans ce sens, tu peux te demander pourquoi certains utilisent encore AWT pour leurs interfaces (si si, je vous assure que j'ai vu ça il y a peu, heureusement ce collègue fait du web en général ;-) ).

                                                      -
                                                      Edité par AxelHuberty 24 janvier 2016 à 22:10:31

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                      Un accès premium d'un mois avec le code AXEL-8RR3 C'est cadeau et c'est illimité !
                                                        24 janvier 2016 à 22:24:18

                                                        @ Axel: je pense que c'est la déclaration de l'image qui ne fonctionne pas à partir de la ligne 180. Car on doit faire passer un texte en une image
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          24 janvier 2016 à 22:32:59

                                                          ThomasGerard a écrit:

                                                          @ Axel: je pense que c'est la déclaration de l'image qui ne fonctionne pas à partir de la ligne 180. Car on doit faire passer un texte en une image


                                                          A vrai dire je voulais savoir si tu avais une exception ou si c'était juste pas le bon résultat. J'en conclu que c'est le résultat qui ne te satisfait pas.

                                                          Tu sembles utiliser une API utilisant son objet JImageViewer, qu'elle est l'API ? 

                                                          EDIT : autant pour moi, cet objet provient de ton package ^^

                                                          -
                                                          Edité par AxelHuberty 24 janvier 2016 à 22:44:47

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                          Un accès premium d'un mois avec le code AXEL-8RR3 C'est cadeau et c'est illimité !
                                                            24 janvier 2016 à 22:39:32

                                                            Mon API est une Appli Texte/Image et le problème est qu'il m'est impossible d'afficher l'image
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            MOOC Apprenez à programmer en Java

                                                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                            • Editeur
                                                            • Markdown