Rotation graphisme en Java [Résolu]

inf4444 4 Messages postés samedi 24 mars 2007Date d'inscription 9 octobre 2007 Dernière intervention - 18 sept. 2007 à 22:39 - Dernière réponse : inf4444 4 Messages postés samedi 24 mars 2007Date d'inscription 9 octobre 2007 Dernière intervention
- 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
inf4444 4 Messages postés samedi 24 mars 2007Date d'inscription 9 octobre 2007 Dernière intervention - 9 oct. 2007 à 04:20
3
Merci
Bonjour

merci mais coment faire

Merci inf4444 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de inf4444
forcels 64 Messages postés mercredi 10 mai 2006Date d'inscription 27 août 2010 Dernière intervention - 4 oct. 2007 à 15:40
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
inf4444 4 Messages postés samedi 24 mars 2007Date d'inscription 9 octobre 2007 Dernière intervention - 9 oct. 2007 à 04:20
0
Merci
Bonjour

merci  pour l'info mais comment faire
Commenter la réponse de inf4444
inf4444 4 Messages postés samedi 24 mars 2007Date d'inscription 9 octobre 2007 Dernière intervention - 9 oct. 2007 à 04:20
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.