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 :

[Runnable]Grammaire JAVA (le retour)


Sujet :

Langage Java

  1. #1
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 341
    Par défaut [Runnable]Grammaire JAVA (le retour)
    Bonjour,

    dans un tutoriel de Baptiste WICHT, concernant l'utilisation de SWING, il y a ce bout de code dont la syntaxe me laisse perplexe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SwingUtilities.invokeLater
    (
      new Runnable()
      {
        public void run()
        {
          //On crée une nouvelle instance de notre JDialog
          JDialog .... bla bla etc
        }
      }
    );
    J'ai mis un peu de couleur pour repérer les couples de parenthèses.

    D'après mes informations, InvokeLater est une méthode statique de SwingUtilities. Tout ce qui se trouve entre les parenthèses rouges correspond donc à l'argument qui lui est transmis.
    Cet argument semble-t-il, est créé dynamiquement par new et est du type Runnable. 'Runnable' est une interface, c'est à dire un ensemble de méthodes et de données (Vous m'arrêtez là où je me trompe )
    Je ne comprends pas la suite: comment peut-on enchainer par des bracelets (les verts), contenant une méthode ?

    Il faut dire qu'ayant fait du C++, je comprends plutôt de la syntaxe du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MonTypeDeClasse {
    Bla bla Methodes et membres...
    };
    puis plus loin dans le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonTypeDeClasse MaClasse = new MonTypeDeClasse;
    Je n'arrive pas à faire le lien avec ce que je vois dans certains code JAVA.

    Quelqu'un peut-il me détailler ce qui se passe dans la syntaxe de l'exemple ?

    Merci.

  2. #2
    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
    En gros c'est un raccourcis :
    - tu as besoin de redéfinir une classe qui implémente Runnable (en redéfinissant la méthode run)
    - tu as besoin de créer une nouvelle instance de cette classe
    - tu dois ensuite passer à la méthode invokeLater cette instance de classe.

    La syntaxe que tu as vu te permet de tout faire d'un coup :
    elle crée une classe anonyme qui implémente Runnable et le passe à invokeLater.

  3. #3
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 341
    Par défaut
    Merci beaucoup pour cet aide.

    Cette grammaire est un peu difficile à digérer au début, mais je m'y fais petit à petit.

    Je dois dire que cela me semble très puissant comme langage (Je viens juste de m'y mettre...je découvre)

    Merci, à bientôt.

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

Discussions similaires

  1. [DOM][Java] Problème avec le retour de getNodeName()
    Par anutka dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 11/04/2012, 21h38
  2. Probleme if grammaire java
    Par shuang dans le forum Langage
    Réponses: 6
    Dernier message: 14/06/2011, 15h17
  3. Un peu de grammaire JAVA:
    Par rtg57 dans le forum Langage
    Réponses: 8
    Dernier message: 26/01/2010, 19h11
  4. Réponses: 8
    Dernier message: 13/09/2005, 17h32
  5. [LambdaProlog] grammaire en Java
    Par khokho dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 04/07/2005, 10h26

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