Rotation graphisme en Java [Résolu]

Messages postés
4
Date d'inscription
samedi 24 mars 2007
Dernière intervention
9 octobre 2007
- - Dernière réponse : inf4444
Messages postés
4
Date d'inscription
samedi 24 mars 2007
Dernière intervention
9 octobre 2007
- 9 oct. 2007 à 04:20
Bonjour

C'est mon  premier dépos de probleme en Java


j'arrive bien a deplacer des objets graphique différent avec la souris

Mais quand j'essai  de faire touner un objet graphique en fonction
de son angle donné en parametre avec la fonction "rotate"   tous
les objets graphique  son solidaire et tounent  en meme temps

Pourquoi ?

voici un morceau du programme

merci de votre aide , le rotate est à la fin
 

import java.awt.*;

import java.awt.event.*;

import java.awt.Graphics;

import java.awt.Graphics2D;

impott java.applet.Applet;

import java.applet.*;

import java.sql.*;

import java.io.*;

import
java.io.BufferedReader;

import
java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

import
java.util.StringTokenizer;

//********  debut du programme  ************************

public class drag14 extends
Applet

implements
MouseListener,  MouseMotionListener {

//*******************************************************

//********  dessin des objets   *************************

//
******************************************************

public class Rectangle6 {

  double x, y, longueur=0, hauteur=0,
profondeur=0, longueurT=0, largeurT=0, longueurG=0, largeurG=0;

  double id=0 , an=0 , posi=0 , xip=0, yip=0;

  String c , NomPrenom;

  Color couleur;

// souris

String souris ;

boolean mouseDragged ,
mouseMoved;

boolean mouseClicked
,mousePressed  ,mouseReleased , mouseEntered
, mouseExited;

// clavier

boolean keyPressed;

boolean up , down ;

String  clavier 
;

String direction;

  Rectangle6(int valX, int valY, int valL, int
valH,    int valP,    String valCode, String valNomPrenom, int
valId, int Angle,   int valLongG,  int valLargeG,  int 
valLongT,  int  valLargeT, int valPosi, int valxip, int
valyip , boolean  valmousePressed)

   { 

 

      x= valX;

      y= valY;

      longueur=valL ;

      hauteur= valH;

      profondeur=valP;

      longueurT=valLongT;

      largeurT=valLargeT;

      longueurG=valLongG ;

      largeurG=valLargeG;

      c = valCode;

      NomPrenom=valNomPrenom;

      id=valId;

      an =Angle;

      posi=valPosi ;

      xip=valxip ;

      yip=valyip ;

 

  mousePressed= valmousePressed;

      

  }

  void setPosition(double valX, double valY){

    x = valX;

    y = valY;

  }

 

boolean estDans(double valX, double valY){

    return
((x<=valX)&&(x+longueur>=valX)

          
&&(y<=valY))&&(y+hauteur>=valY);                

  }

 

  void dessiner(Graphics g) {

    int i=1;

    String exId1 = c.substring(0, 1);

    String exId2 = c.substring(0, 2);

    String exId3 = c.substring(0, 3);

    String BL, BT, BA;

 

    // repositionnement pour les objets non
déplacées

    if (x==0 && y ==0)

    {

    x=xip;

    y=yip+posi;

    }

  

     Color couleurF;

     Color couleurB=Color.blue;

       Color couleurT=Color.red ;

        // g.setColor(new Color(200, 12, 25));

     

      if 
(mousePressed==true)

       

         couleurF=Color.cyan;     

      else

         couleurF=Color.yellow;

    

        // g.setColor(new Color(200, 12, 25));

     

      if 
(mousePressed==true)

       

         couleurF=Color.yellow;   

      else

         couleurF=Color.yellow ;

//**********************************************************************

//******** rotation
******************************************************

Graphics2D g2 = (Graphics2D)
g;

g2.rotate(an* Math.PI /
180.0, (x+(longueur)/2),(y+(hauteur)/2) );

         { 

          g.setColor(couleurF);

                 g.fillRect((int)x, (int)y,
(int)longueur, (int)hauteur);

                 g.setColor(couleurB);

                 g.drawRect((int)x, (int)(y) ,
(int)longueur, (int)2);

           }



  }

}
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
4
Date d'inscription
samedi 24 mars 2007
Dernière intervention
9 octobre 2007
3
Merci
Bonjour

merci mais coment faire

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 119 internautes nous ont dit merci ce mois-ci

Commenter la réponse de inf4444
Messages postés
64
Date d'inscription
mercredi 10 mai 2006
Dernière intervention
27 août 2010
4
0
Merci
hello

Je suis débutante dans ce domaine, mais je pense que c'est dû au fait que tu fais la rotation sur l'élément Graphics. Cet élément possède tous les objets que tu as dessinés.

forcels
Commenter la réponse de forcels
Messages postés
4
Date d'inscription
samedi 24 mars 2007
Dernière intervention
9 octobre 2007
0
Merci
Bonjour

merci  pour l'info mais comment faire
Commenter la réponse de inf4444
Messages postés
4
Date d'inscription
samedi 24 mars 2007
Dernière intervention
9 octobre 2007
0
Merci
Bonjour

merci mais coment faire
Commenter la réponse de inf4444

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.