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

 Java Discussion :

TP - 3 boutons pour faire bouger un triangle


Sujet :

Java

  1. #1
    Candidat au Club
    Femme Profil pro
    bab zouar Algerie
    Inscrit en
    Novembre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : bab zouar Algerie
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2019
    Messages : 7
    Points : 2
    Points
    2
    Par défaut TP - 3 boutons pour faire bouger un triangle
    Bonsoir à tous

    je suis étudiante en informatique programmation java netbeans; j'ai un petit soucis pour terminer un TP
    Il s'agit d'un petit programme en graphisme

    une fenêtre avec trois boutons T1 T2 et T3. chaque bouton a pour rôle de faire bouger un triangle

    T1 de gauche vers la droite en haut
    T2 de droite vers la gauche bien sur les deux triangles sont sur la même ligne;
    les deux triangles bougent horisontalement
    quand T1 et T2 se rencontrent au milieu doivent descendre vers le bas ensembles;

    T3 doit bouger de bas vers le haut jusqu'à arrivé au milieu;

    une fois les trois triangles arrivés au point milieu ils se déplacent vers la droite

    je mets à votre disposition mon travail

    main
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    package ballesimplethread;
     
    import javax.swing.UIManager;
    import java.awt.*;
     
    public class BalleSimpleThread {
      boolean packFrame = false;
     
      /**Construire l'application*/
      public BalleSimpleThread() {
        Cadre frame = new Cadre();
        //Valider les cadres ayant des tailles prédéfinies
        //Compacter les cadres ayant des infos de taille préférées - ex. depuis leur disposition
        if (packFrame) {
          frame.pack();
        }
        else {
          frame.validate();
        }
        //Centrer la fenêtre
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = frame.getSize();
        if (frameSize.height > screenSize.height) {
          frameSize.height = screenSize.height;
        }
        if (frameSize.width > screenSize.width) {
          frameSize.width = screenSize.width;
        }
        frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
        frame.setVisible(true);
      }
      /**Méthode principale*/
      public static void main(String[] args) {
    /*    try {
          UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        }
        catch(Exception e) {
          e.printStackTrace();
        } */
        new BalleSimpleThread();
      }
    }
    class balle


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    package ballesimplethread;
     
    import javax.swing.*;
    import java.awt.*;
     
    class Balle {
      private JPanel panneau;
      private int x, y, dx = 2, dy = 2;
      private static final int taille = 40;
       private static final int taille2 = 80;
        static int  a=0,b=0,c=0;
      public Balle(JPanel panneau) { this.panneau = panneau; }
     
      public void dessine() {
        Graphics surface = panneau.getGraphics(); // récupère les ressources graphiques
        surface.fillRect(x, 30, taille2, taille); // pour permettre le tracé des dessins
        surface.dispose();  // libère les ressources graphiques pour d'autres apllications
      }
     
      public void déplace() {
     
    Graphics surface = panneau.getGraphics();
     
       if(x<=594){
           surface.setXORMode(panneau.getBackground());
     // panneau.paint(surface);
        surface.fillRect(x ,30, taille2, taille);  // efface l'ancien tracé grâce à la fonction XOR
        x+=dx ; //y += dy;
     
       Dimension dim = panneau.getSize(); // dimension du panneau
     
        surface.fillRect(x,30, taille2, taille); // trace le nouvel emplacement de la balle
        surface.dispose();}
       if(a!=0){
           if(b!=0)  {
     
        // panneau.paint(surface);
         //surface.setXORMode(panneau.getBackground());
        surface.fillRect(600, y, taille2, taille);  // efface l'ancien tracé grâce à la fonction XOR
       // x+=dx ;
        y += dy;
     
        Dimension dim = panneau.getSize(); // dimension du panneau
        surface.fillRect(600, y, taille2, taille); // trace le nouvel emplacement de la balle
        surface.dispose();
        surface.setXORMode(panneau.getBackground());
          }
         }
     
      }
     
     
     
       /* x+=dx ; y += dy;
        Dimension dim = panneau.getSize(); // dimension du panneau
        
        g.fillRect(x, 30, taille2, taille); // trace le nouvel emplacement de la balle
        g.dispose();
        p.paint(g);  */
     
     
     
     
     
      public void rebond()  {
     
         x=10;; y=70;
        dessine();
      for(int i=0;i<290;i++){
     
       déplace();
          try { Thread.sleep(20); }
          catch (InterruptedException e) {}
     
       }  a++;
     
     /* if(a*b==1){
          
    //y=70;
    dessine();
      
    for(int i=0;i<160;i++){
       déplace();
          try { Thread.sleep(20); }
          catch (InterruptedException e) {}
     
     
      }  
     
     
     
      }*/}
     
     
     
       public void dessine2() {
        Graphics surface = panneau.getGraphics(); // récupère les ressources graphiques
     
        surface.fillRect(x, 30, taille2, taille); // pour permettre le tracé des dessins
        surface.dispose();  // libère les ressources graphiques pour d'autres apllications
      }
     
       public void déplace2() {
        Graphics surface = panneau.getGraphics();
       //surface.setXORMode(panneau.getBackground());
          if (x>671){
              surface.setXORMode(panneau.getBackground());
             // panneau.paint(surface);
        surface.fillRect(x, 30, taille2, taille);  // efface l'ancien tracé grâce à la fonction XOR
         x-=dx ;//y += dy;
        Dimension dim = panneau.getSize(); // dimension du panneau
     
        surface.fillRect(x, 30, taille2, taille); // trace le nouvel emplacement de la balle
        surface.dispose();
          } 
         if(b!=0){
             if(a!=0){
     
     
        //surface.setXORMode(panneau.getBackground());
        surface.fillRect(670, y, taille2, taille);  // efface l'ancien tracé grâce à la fonction XOR
       // x+=dx ;
        y += dy;
     
        Dimension dim = panneau.getSize(); // dimension du panneau
        surface.fillRect(670, y, taille2, taille); // trace le nouvel emplacement de la balle
        surface.dispose();
       surface.setXORMode(panneau.getBackground());
        //panneau.paint(surface);
          //}
       }   }  
       }
     
      public void rebond2() {
          x=1280; y=70;
        dessine2();
       for(int i=0;i<350;i++){
     
           déplace2();
     
          try { Thread.sleep(20); }
          catch (InterruptedException e) {}
        } b++;
        if(a*b==1){
            ;
                dessine2();
     
        for(int i=0;i<100;i++){
           déplace2();
     
          try { Thread.sleep(20); }
          catch (InterruptedException e) {}
     
         déplace();
     
          try { Thread.sleep(20); }
          catch (InterruptedException e) {}
     
     
        }
        }
      }
     
        public void dessine3() {
        Graphics surface = panneau.getGraphics(); // récupère les ressources graphiques
     
        surface.fillRect(680, y, taille2, taille); // pour permettre le tracé des dessins
        surface.dispose();  // libère les ressources graphiques pour d'autres apllications
      }
     
       public void déplace3() {
        Graphics surface = panneau.getGraphics();
        surface.setXORMode(panneau.getBackground());
     
        surface.fillRect(680, y, taille2, taille);  // efface l'ancien tracé grâce à la fonction XOR
         x+=dx ;y -= dy;
        Dimension dim = panneau.getSize(); // dimension du panneau
     
        surface.fillRect(680, y, taille2, taille); // trace le nouvel emplacement de la balle
        surface.dispose();
      }   
     
      public void rebond3() {
          y=625;
        dessine3();
       for(int i=0;i<100;i++){
           déplace3();
          try { Thread.sleep(20); }
          catch (InterruptedException e) {}
        }
      }
     
    }

    class cadre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    package ballesimplethread;
     
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
     
    public class Cadre extends JFrame {
      JPanel contentPane;
      BorderLayout borderLayout1 = new BorderLayout();
      JPanel jPanel1 = new JPanel();
      //JButton boutonDémarrer = new JButton();
      JButton boutonFermer = new JButton();
      JPanel panneau = new JPanel();
      JButton T1 = new JButton();
      JButton T2 = new JButton();
     JButton T3 = new JButton();
      /**Construire le cadre*/
      public Cadre() {
        enableEvents(AWTEvent.WINDOW_EVENT_MASK);
        try {
          jbInit();
        }
        catch(Exception e) {
          e.printStackTrace();
        }
      }
      /**Initialiser le composant*/
      private void jbInit() throws Exception  {
        //setIconImage(Toolkit.getDefaultToolkit().createImage(Cadre.class.getResource("[Votre icône]")));
        contentPane = (JPanel) this.getContentPane();
        contentPane.setLayout(borderLayout1);
        this.setSize(new Dimension(315, 250));
        this.setTitle("Rebond d'une balle avec un seul Thread");
        /*boutonDémarrer.setText("Démarrer");
        boutonDémarrer.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            boutonDémarrer_actionPerformed(e);
          }
        });*/
        boutonFermer.setText("Fermer");
        boutonFermer.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            boutonFermer_actionPerformed(e);
          }
        });
     
       T1.setText("T1");  
         T1.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            T1_actionPerformed(e);
          }
        });
     T2.setText("T2");  
         T2.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            T2_actionPerformed(e);
          }
        });
     
       T3.setText("T3");  
         T3.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            T3_actionPerformed(e);
          }
        }); 
     
        panneau.setBackground(Color.orange);
        contentPane.add(jPanel1, BorderLayout.SOUTH);
        //jPanel1.add(boutonDémarrer, null);
         jPanel1.add(T1, null);
          jPanel1.add(T2, null);
          jPanel1.add(T3, null);
        jPanel1.add(boutonFermer, null);
     
        contentPane.add(panneau, BorderLayout.CENTER);
      }
      /**Remplacé, ainsi nous pouvons sortir quand la fenêtre est fermée*/
      protected void processWindowEvent(WindowEvent e) {
        super.processWindowEvent(e);
        if (e.getID() == WindowEvent.WINDOW_CLOSING) {
          System.exit(0);
        }
      }
     
      /*void boutonDémarrer_actionPerformed(ActionEvent e) {
        Balle balle = new Balle(panneau);
        balle.rebond();
      }*/
     
      void boutonFermer_actionPerformed(ActionEvent e) {
        System.exit(0);
      }
     
     
      void T1_actionPerformed(ActionEvent e) {
        Balle balle = new Balle(panneau);
        balle.rebond();
     
      }
       void T2_actionPerformed(ActionEvent e) {
        Balle balle = new Balle(panneau);
        balle.rebond2();
      }
       void T3_actionPerformed(ActionEvent e) {
        Balle balle = new Balle(panneau);
        balle.rebond3();
      }
    }

    Connaître son ignorance est la meilleure part de la connaissance.
    merci d'avance pour votre aide

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Quelle est la question ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

Discussions similaires

  1. [XCode] bouton pour faire progresser un slider
    Par kratosphere dans le forum XCode
    Réponses: 1
    Dernier message: 09/05/2012, 14h06
  2. comment faire pour faire bouger ma ToolStrip ?
    Par brahim20 dans le forum VB.NET
    Réponses: 3
    Dernier message: 12/08/2010, 09h08
  3. Problème pour faire bouger deux objets simultanement
    Par LinuxUser dans le forum AWT/Swing
    Réponses: 13
    Dernier message: 22/04/2007, 23h19
  4. Creer un bouton pour faire une imporation xls
    Par omacama dans le forum Access
    Réponses: 6
    Dernier message: 13/02/2007, 09h24
  5. [FLASH MX2004] Problème pour faire un bouton play
    Par melanie075 dans le forum Flash
    Réponses: 13
    Dernier message: 16/12/2004, 22h55

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