import java.awt.*; public class DrawningCrossRollers implements IDrawningRollers{ private RollersCount rollersCount; private Color colorRollers; public void setRollersCount(int count){ switch (count) { case 4 -> rollersCount = RollersCount.Four; case 5 -> rollersCount = RollersCount.Five; case 6 -> rollersCount = RollersCount.Six; default -> rollersCount = RollersCount.Four; } } public DrawningCrossRollers(int count, Color colorRollers){ setRollersCount(count); this.colorRollers = colorRollers; } public void DrawRollers(Graphics2D g, float _startPosX, float _startPosY){ Color penColor = Color.BLACK; Color mainColor = colorRollers==null ? Color.LIGHT_GRAY : colorRollers; // Крупные катки - всегда // 1 g.setColor(mainColor); g.fillOval((int)_startPosX + 5, (int)_startPosY + 60, 22, 22); g.setColor(penColor); g.drawOval((int)_startPosX + 5, (int)_startPosY + 60, 22, 22); // вертикальное перекрестие g.fillRect((int)_startPosX + 14, (int)_startPosY + 65, 5, 14); // горизонтальное перекрестие g.fillRect((int)_startPosX + 10, (int)_startPosY + 69, 13, 5); // 2 g.setColor(mainColor); g.fillOval((int)_startPosX + 83, (int)_startPosY + 60, 22, 22); g.setColor(penColor); g.drawOval((int)_startPosX + 83, (int)_startPosY + 60, 22, 22); // вертикальное перекрестие g.fillRect((int)_startPosX + 92, (int)_startPosY + 65, 5, 14); // горизонтальное перекрестие g.fillRect((int)_startPosX + 88, (int)_startPosY + 69, 13, 5); // Малые катки - всегда // 1 g.setColor(mainColor); g.fillOval((int)_startPosX + 43, (int)_startPosY + 58, 6, 6); g.setColor(penColor); g.drawOval((int)_startPosX + 43, (int)_startPosY + 58, 6, 6); // вертикальное перекрестие g.fillRect((int)_startPosX + 46, (int)_startPosY + 60, 1, 3); // горизонтальное перекрестие g.fillRect((int)_startPosX + 45, (int)_startPosY + 61, 3, 1); // 2 g.setColor(mainColor); g.fillOval((int)_startPosX + 61, (int)_startPosY + 58, 6, 6); g.setColor(penColor); g.drawOval((int)_startPosX + 61, (int)_startPosY + 58, 6, 6); // вертикальное перекрестие g.fillRect((int)_startPosX + 64, (int)_startPosY + 60, 1, 3); // горизонтальное перекрестие g.fillRect((int)_startPosX + 63, (int)_startPosY + 61, 3, 1); // Средние катки - не всегда switch (rollersCount){ case Six: // 1 g.setColor(mainColor); g.fillOval((int)_startPosX + 33, (int)_startPosY + 73, 10, 10); g.setColor(penColor); g.drawOval((int)_startPosX + 33, (int)_startPosY + 73, 10, 10); // вертикальное перекрестие g.fillRect((int)_startPosX + 37, (int)_startPosY + 75, 2, 6); // горизонтальное перекрестие g.fillRect((int)_startPosX + 35, (int)_startPosY + 77, 6, 2); case Five: // 2 g.setColor(mainColor); g.fillOval((int)_startPosX + 68, (int)_startPosY + 73, 10, 10); g.setColor(penColor); g.drawOval((int)_startPosX + 68, (int)_startPosY + 73, 10, 10); // вертикальное перекрестие g.fillRect((int)_startPosX + 72, (int)_startPosY + 75, 2, 6); // горизонтальное перекрестие g.fillRect((int)_startPosX + 70, (int)_startPosY + 77, 6, 2); } // Центры крупных катков g.setColor(Color.BLACK); g.fillOval((int)_startPosX + 13, (int)_startPosY + 68, 6, 6); g.fillOval((int)_startPosX + 91, (int)_startPosY + 68, 6, 6); } }