Hallo Leute,
ich hatte mir kurzem schon mal einen Thread bezüglich paint methoden aufgemacht in dem mir auch sehr schnell geholfen wurde.
Nun stehe ich vor einem weiteren Problem. Und zwar habe ich mit Hilfe vom Sinus und Cosinus Hexagone gezeichnet, die sich mit dem Frame anpassen, also wenn ich den Frame auf full size schalte, passen sich die hexagone jeweils der größe an.
Jetzt ist mein Problem wenn ich nun rechtecke zeichne und dann den Frame vergrößere. bleiben die an der definierten Stelle. Jetzt ist meine Frage wie ich das mit getWidth und getHeight für Rechtecke machen soll.
Ich weiß ich stell mich blöd an. Bitte helft mir weiter mit wenn möglichst aussagekräftigen Code. Bin langsam am verzweifeln. Ich weiß ich bin der Lösung nahe aber komme nicht drauf. Hier mal der Code für die Hexagone und die Quadrate:
Hier der Code für die Quadrate:
Ich weiß einfach nicht wie ich die Koordinaten entsprechend meiner hexagon methode anpassen kann.
Liebe Grüße
Felix
ich hatte mir kurzem schon mal einen Thread bezüglich paint methoden aufgemacht in dem mir auch sehr schnell geholfen wurde.
Nun stehe ich vor einem weiteren Problem. Und zwar habe ich mit Hilfe vom Sinus und Cosinus Hexagone gezeichnet, die sich mit dem Frame anpassen, also wenn ich den Frame auf full size schalte, passen sich die hexagone jeweils der größe an.
Jetzt ist mein Problem wenn ich nun rechtecke zeichne und dann den Frame vergrößere. bleiben die an der definierten Stelle. Jetzt ist meine Frage wie ich das mit getWidth und getHeight für Rechtecke machen soll.
Ich weiß ich stell mich blöd an. Bitte helft mir weiter mit wenn möglichst aussagekräftigen Code. Bin langsam am verzweifeln. Ich weiß ich bin der Lösung nahe aber komme nicht drauf. Hier mal der Code für die Hexagone und die Quadrate:
Java:
int xCenter = getWidth() / 2;
int yCenter = getHeight() / 2;
int radius = (int)(Math.min(getWidth(), getHeight()) * 0.5);
// Erzeugt ein Objekt der Klasse Polygon
Polygon polygon = new Polygon();
Color color = new Color(85,107,47); //85,107,47
Graphics2D g2d = (Graphics2D) g;
// Fügt dem Polygon die einzelnen Punkte hinzu
polygon.addPoint(xCenter + radius, yCenter);
polygon.addPoint((int)(xCenter + radius *
Math.cos(2 * Math.PI / 6)), (int)(yCenter - radius *
Math.sin(2 * Math.PI / 6)));
//Hier wird die linke obere Seite gezeichnet;
polygon.addPoint((int)(xCenter + radius *
Math.cos(2 * 2 * Math.PI / 6)), (int)(yCenter - radius *
Math.sin(2 * 2 * Math.PI / 6)));
polygon.addPoint((int)(xCenter + radius *
Math.cos(3 * 2 * Math.PI / 6)), (int)(yCenter - radius *
Math.sin(3 * 2 * Math.PI / 6)));
polygon.addPoint((int)(xCenter + radius *
Math.cos(4 * 2 * Math.PI / 6)), (int)(yCenter - radius *
Math.sin(4 * 2 * Math.PI / 6)));
polygon.addPoint((int)(xCenter + radius *
Math.cos(5 * 2 * Math.PI / 6)), (int)(yCenter - radius *
Math.sin(5 * 2 * Math.PI / 6)));
// Draw the polygon
g.drawPolygon(polygon);
g2d.setPaint(color);
g2d.fill(polygon);
Hier der Code für die Quadrate:
Java:
GradientPaint gp1 = new GradientPaint(25,25, Color.black, 25,25, Color.black,true);
g2d.setPaint(gp1);
g2d.fillRect(390, 337, 30, 30);
g2d.fillRect(357, 337, 30, 30);
g2d.fillRect(324, 337, 30, 30);
g2d.fillRect(291, 337, 30, 30);
g2d.fillRect(257, 337, 30, 30);
g2d.fillRect(223, 337, 30, 30);
Ich weiß einfach nicht wie ich die Koordinaten entsprechend meiner hexagon methode anpassen kann.
Liebe Grüße
Felix