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.