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
(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 ? :###
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
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
(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