Teaching - 2i013

Enseignants


2i013 - Groupe 5 : Course de voiture

Interface graphique avancée

Pour ceux qui développe une interface graphique avancée, il faut quelques commandes spéciales pour ne pas bloquer l'affichage:

Dans la fonction qui lance la course:

 Thread t = new Thread(){
        public void run() {
                try {
                        jeu.play();
                } catch (VoitureException e1) {
                        e1.printStackTrace();
                }
        }
 };
 t.start();

La logique est celle de l'exécution parallèle: pour ne pas que les taches se gênent, chacune est exécutée dans un environnement séparé. Ce n'est pas l'objet de ce cours et vous utiliserez ces commandes en aveugle.

Dans la fonction d'affichage du panel

   public void manageUpdate() {
        try {
            Thread.sleep(1);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                repaint();
            }
        });
    }