# Bild in Richtung Maus drehen



## Lastone (16. Dez 2013)

Hallo zusammen,

Da ich im anderen Themenbereich keinen Erfolg hatte(war wohl im falschen Thema!)
daher erneut:

Ich habe ein Problem und zwar will ich dass wenn ich mit der Maus in mein Panel klicke das Bild dort hin zeigt.

Ich probiere das momentan mit Graphics2D (rotate).

Momentan habe ich:

```
public void Mouseleft(MouseEvent e) {
                
        if (e.getButton() == MouseEvent.BUTTON1) {
            
            Xl = e.getX();
            Yl = e.getY();
            
            
            
            xturret = (pictankturret.getIconWidth() / 2);
            yturret = (pictankturret.getIconHeight() / 2);
            
            float xDistance = Xl - xturret;
            float yDistance = Yl - yturret;
            rotationAngle = (Math.atan2(yDistance, xDistance));
```

und im paint:

```
public void paint(Graphics g) {
        super.paint(g);
 
        Graphics2D g2d = (Graphics2D)g;
        
        
        // turret zeichnen
        g2d.rotate(tank.getrotationAngle());
        g2d.drawImage(tank.getImage2(),250,250, this);
        
        Toolkit.getDefaultToolkit().sync();
        g.dispose();
    }
```

aber irgendwie funktioniert das mit dem drehen so gar nicht... 
Das Bild soll ja auf der stelle gegen den Mauszeiger drehen.

Vielen Dank schon im vorraus.
Freundliche Grüsse
Lastone


----------



## eMmiE (16. Dez 2013)

..


----------



## Lastone (16. Dez 2013)

```
xturret = (pictankturret.getIconWidth() / 2);
            yturret = (pictankturret.getIconHeight() / 2);
```

das wäre die mitte... x und y position halt.

Muss ich das nun in einen Point abspeichern? und wie geht das dann mit dem Rotate?


----------



## eMmiE (16. Dez 2013)

Probier das mal mit 
	
	
	
	





```
Graphics2D.drawImage(Image img,AffineTransform xform,null);
```
Die AffineTransform hierzu holst du dir bei deinem Graphics2D Objekt mithilfe von 
	
	
	
	





```
getTransform()
```
 ab.

Laut API sollte das das Bild vorher drehen, sonst ist (anscheinend) die Transformation des Graphics2D umsonst. Es scheint, als könnte diese Klasse nur Transformationen speichern und implementiert keine Mehtode, die direkt umzusetzen


----------



## Lastone (16. Dez 2013)

Hat sich erledigt auch Dank deiner Hilfe! ---> Falls intressiert:
http://www.java-forum.org/awt-swing-javafx-swt/156836-bild-richtung-maus-drehen.html


----------

