Partage
  • Partager sur Facebook
  • Partager sur Twitter

Animer ma balle

(même si la question a déjà été posée plein de fois sûrement)

Sujet résolu
    21 janvier 2020 à 11:30:14

    Bonjour,

    J'aimerais animer ma balle en alternant 2 panels qui dessinent la balle un peu plus loin a chaque changement, mais je n'yarrive pas, comment pourrais-je faire ?

    Classe Test :

    </>import javax.swing.JFrame;

    public class Test {
        public static void main(String args[]) {
            JFrame fenetre = new JFrame();
            Panneau pan = new Panneau();
            int fl = 1000;
            int fh = 300;
            fenetre.setTitle("Stage");
            fenetre.setSize(fl, fh);
            fenetre.setLocationRelativeTo(null);
            fenetre.setVisible(true);
            fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            fenetre.setContentPane(pan);
            fenetre.getSize();


        }

    }

    Classe Panneau :

    import java.awt.Color;
    import java.awt.Graphics;
    import javax.swing.JPanel;
     
    public class Panneau extends JPanel {
      public void paintComponent(Graphics g){
          int x=20;
          int y=80;
          int l=75;
          int h=75;
          int pl=getWidth();
          int ph=getHeight();
        g.fillOval(x, y, l, h);
        System.out.println(getWidth());
        while (x<getWidth()-200){
            g.setColor(getBackground());
            g.fillRect(0, 0, pl, ph);
            x = x+80;
            g.setColor(new Color(0, 0, 0));
            g.fillOval(x, y, l, h);
           
           
        }
      }
      }

    (J'espère que le code est bien mis)

    Repost dû a un trop nombre d'edits considéré comme du spam

    • Partager sur Facebook
    • Partager sur Twitter
      21 janvier 2020 à 11:40:07

      La méthode paintComponent(g) sert à dessiner la fenêtre 1 fois. C'est juste pour rafraîchir l'écran.

      Pour faire une animation, tu dois coder la boucle en-dehors de cette méthode, et appeler repaint() à chaque fois que tu veux que la fenêtre se redessine à l'écran. Ca appellera paintComponent().

      • Partager sur Facebook
      • Partager sur Twitter
        21 janvier 2020 à 13:40:22

        Coder la boucle en dehors ? C'est a dire ?
        • Partager sur Facebook
        • Partager sur Twitter
          21 janvier 2020 à 13:52:06

          Le code ne doit pas se trouver dans la méthode paintComponent(), mais dans une autre méthode (n'importe laquelle pourvu qu'elle s'exécute, pour faire simple).

          • Partager sur Facebook
          • Partager sur Twitter
            21 janvier 2020 à 14:06:02

            Donc au lieu de mettre g quand je fais mon programme je mets Graphics ?
            • Partager sur Facebook
            • Partager sur Twitter
              21 janvier 2020 à 14:29:19

              :o
              Dis-nous plutôt quel cours tu suis, et on va reprendre l'énoncé de l'exercice ensemble.
              • Partager sur Facebook
              • Partager sur Twitter
                21 janvier 2020 à 14:36:35

                Bah en fait je suis pas de cours

                Ca vient de mon prof qui m'a a peu près dit comment faire mais son écriture est pas trop lisible

                Il m'a dit que pendant qu'on affichait un panel avec un rond, on devait dessiner l'autre et le montrer dès qu'il est prêt et alterner entre les deux comme ça

                J'aurais bien regardé sur Internet ou OC mais il y a des trucs "trop compliqués pour ce que je suis sensé faire" apparemment

                J'ai une fiche de critères pour le programme si besoin

                -
                Edité par Plasardoche 21 janvier 2020 à 14:52:51

                • Partager sur Facebook
                • Partager sur Twitter
                  21 janvier 2020 à 14:59:27

                  Tu ne suis pas de cours mais tu as un prof ? :(

                  Va voir un vrai cours à cette adresse : https://openclassrooms.com/fr/courses/26832-apprenez-a-programmer-en-java/23193-creez-votre-propre-animation
                  Pas seulement ce chapitre, mais le cours tout entier, si tu veux progresser en Java.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    21 janvier 2020 à 15:05:29

                    D'accord, merci, de toute façon même dans les livres qu'il m'a donné le programme ne marchait pas, j'irais voir ça merci !

                    Edit:

                    Zachee54 a écrit:

                    Tu ne suis pas de cours mais tu as un prof ? :(

                    Va voir un vrai cours à cette adresse : https://openclassrooms.com/fr/courses/26832-apprenez-a-programmer-en-java/23193-creez-votre-propre-animation
                    Pas seulement ce chapitre, mais le cours tout entier, si tu veux progresser en Java.


                    Eum, en fait le site ne marche pas

                    -
                    Edité par Plasardoche 21 janvier 2020 à 15:27:56

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Animer ma balle

                    × 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