/ / Einfacher Weg dies zu zeichnen? - Java

Einfachere Möglichkeit, dies zu zeichnen? - Java

Ich versuche eine Art Fadenkreuz mit zu zeichnendie Java-Grafikmethoden. Ich habe das geschrieben, aber es scheint viel zu übertrieben und ich habe das Gefühl, dass es ziemlich vereinfacht werden kann. Ich werde ein Bild von dem, was es aussieht, hinzufügen.

Wie kann ich das vereinfachen?

    graphics.setColor(mainColor);
graphics.drawRect(Mouse.getPos().x - 13, Mouse.getPos().y - 13, 27, 27); // Rectangle stroke.
graphics.drawRect(Mouse.getPos().x, Mouse.getPos().y - 512, 1, 500);     // Top y axis stroke.
graphics.drawRect(Mouse.getPos().x, Mouse.getPos().y + 13, 1, 500);      // Bottom y axis stroke.
graphics.drawRect(Mouse.getPos().x + 13, Mouse.getPos().y, 800, 1);      // Right x axis stroke.
graphics.drawRect(Mouse.getPos().x - 812, Mouse.getPos().y, 800, 1);     // left x axis stroke.
graphics.fillOval(Mouse.getPos().x - 3, Mouse.getPos().y - 3, 7, 7);     // Center dot stroke.
graphics.setColor(offColor);
graphics.drawRect(Mouse.getPos().x - 12, Mouse.getPos().y - 12, 25, 25); // Rectangle.
graphics.drawRect(Mouse.getPos().x, Mouse.getPos().y - 512, 0, 500);     // Top y axis line.
graphics.drawRect(Mouse.getPos().x, Mouse.getPos().y + 13, 0, 500);      // Bottom y axis line.
graphics.drawRect(Mouse.getPos().x + 13, Mouse.getPos().y, 800, 0);      // Right x axis line.
graphics.drawRect(Mouse.getPos().x - 812, Mouse.getPos().y, 800, 0);     // left x axis line.
graphics.fillOval(Mouse.getPos().x - 2, Mouse.getPos().y - 2, 5, 5);     // Center dot.

So sieht es aus und wie es aussehen soll. Bildbeschreibung hier eingeben

Antworten:

1 für die Antwort № 1

Eine Vereinfachung wäre, eine Methode zu erstellen, die die Graphics#drawRect Methode.

Beispiel:

private static void drawRect (Graphics g, int x, int y, int width, int height)
{
g.drawRect(Mouse.getPos().x + x, Mouse.getPos().y + y, width, height);
}

Dann geht dieser Anrufcode von:

graphics.drawRect(Mouse.getPos().x - 13, Mouse.getPos().y - 13, 27, 27); // Rectangle stroke.
graphics.drawRect(Mouse.getPos().x, Mouse.getPos().y - 512, 1, 500);     // Top y axis stroke.
graphics.drawRect(Mouse.getPos().x, Mouse.getPos().y + 13, 1, 500);      // Bottom y axis stroke.
graphics.drawRect(Mouse.getPos().x + 13, Mouse.getPos().y, 800, 1);      // Right x axis stroke.
graphics.drawRect(Mouse.getPos().x - 812, Mouse.getPos().y, 800, 1);     // left x axis stroke.

Zu:

drawRect(graphics, -13, -13, 27, 27);  // Rectangle stroke.
drawRect(graphics, 0, -512, 1, 500);   // Top y axis stroke.
drawRect(graphics, 0, 13, 1, 500);     // Bottom y axis stroke.
drawRect(graphics, 13, 0, 800, 1);     // Right x axis stroke.
drawRect(graphics, -812, 0, 800, 1);   // left x axis stroke.