Rotate in DoubleBuffering

Status
Nicht offen für weitere Antworten.
Hallo !
Habe folgendes Problem:

Ich zeichne mit Graphics2D in ein Panel in ein JFrame.
Gezeichnet werden ein Kreis, Vektoren, etc. und in der Mitte des Panels befindet sich ein Bild,
welches mit der Rotate Funktion auf Wunsch rotiert werden kann.

Nun habe ich einen DoubleBuffer eingebaut und logischerweise dreht sich jetzt dass ganze Bild im Kreis :cool:
(vor dem DoubleBuffering nur das Bild in der Mitte)

Kann mir einer sagen wie ich diese Graphics Objekte generell voneinander Trenne (Beispielsweise einen Kreis und ein Image in seperaten Graphics2D Objekten verwalte) aber trotzdem den DoubleBuffer benutzen kann ? :###

Code:
    // Instanzvariablen

    Image buffer;
    Graphics2D gBuffer;
    Graphics g;
    
    // Konstruktor

    public Constructor()
    {
        // blabla...

        this.g = paint_panel.getGraphics();
        repaint();
    }
    
    // Update 

    public void update(Graphics g)
    {
        paintWithoutRotation(this.g);
    }

    // Eigene Paint Methode

    public void paintWithoutRotation(Graphics g)
    {
        if (buffer==null)
        {
            buffer=paint_panel.createImage(700, 700);
            gBuffer=(Graphics2D)buffer.getGraphics();
        }

        gBuffer.setBackground(paint_panel.getBackground());
        gBuffer.clearRect(0,0,700,700);
        gBuffer.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

        mi_drawDegrees.drawDegrees(gBuffer);
        mi_drawCircles.drawCircles(gBuffer);
        mi_drawScales.drawScales(gBuffer);
        mi_drawRCS.drawRCS(gBuffer, this.RCS_values);
        mi_drawShipVector.drawShipVector(gBuffer, this.x_mouse_coordinates_end, this.y_mouse_coordinates_end);
        mi_drawShip.loadShipImage();
        // mi_rotateShip.rotateShip(gBuffer, this.theta);
        // mi_drawShip.drawShip(gBuffer);

        g.drawImage(buffer,0,0,this);
    }

Wenn ich die auskommentierten Zeilen "mi_rotate ..." und "mi_drawShip ..." einfüge, dreht sich alles im Kreis :autsch:

Vielleicht kann mir ja einer schnell weiterhelfen,
Vielen Dank,
Ciao,
Kaioooooo
 

Grizzly

Top Contributor
KaiooShin2509 hat gesagt.:
Habe es bereits selbst rausgefunden.
Wenn Du Deine Lösung jetz noch für all die im Forum posten könntest, die das gleiche Problem haben (oder mal haben könnten), wären wir Dir sehr zu Dank verpflichtet. :)
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben