Dots.java
1    /* 
2    * Writing a programs to draws 9 painted circles. 
3    *None of the 9 circles touch each other and need to be symmetric to Y axis 
4     */
5    package npw;
6    
7    import painter.SPainter;
8    import shapes.SCircle;
9    
10   import javax.swing.*;
11   import java.awt.*;
12   
13   public class Dots {
14   
15       private void paintTheImage(){
16           SPainter painter = new SPainter("dots",500,500);
17           SCircle dot = new SCircle(30);
18           paintBlueCircle(painter,dot);
19           paintRedCircle(painter, dot);
20           paintGreenCircles(painter, dot);
21           paintBlackCircles(painter,dot);
22       }
23   
24       //REQUIRED INFRASTRUCTURE
25   
26       public Dots(){
27           paintTheImage();
28       }
29       public static void main (String[]args) {
30           SwingUtilities.invokeLater(Dots::new);
31       }
32       private void paintBlueCircle(SPainter klee, SCircle dot) {
33           //Painting 2 Blue Circles mirroring to each other.
34           dot.setRadius(55);
35           klee.mfd(90);
36           klee.mlt(140);
37           klee.setColor(Color.BLUE);
38           klee.paint(dot);
39           klee.moveToCenter();
40           klee.mfd(90);
41           klee.mrt(140);
42           klee.paint(dot);
43       }
44       private void paintBlackCircles(SPainter klee, SCircle dot) {
45           //painting one black circle on the top of the canvas.
46           dot.setRadius(35);
47           klee.moveToCenter();
48           klee.mfd(180);
49           klee.mlt(40);
50           klee.setColor(Color.BLACK);
51           klee.paint(dot);
52           klee.moveToCenter();
53           klee.mfd(180);
54           klee.mrt(40);
55           klee.paint(dot);
56   
57           //painting only one Black circle at the Y axis.
58           dot.setRadius(35);
59           klee.moveToCenter();
60           klee.mbk(180);
61           klee.paint(dot);
62   
63   
64   
65       }
66       private void paintRedCircle(SPainter klee,SCircle dot){
67           //Painting 2 Red circles symmetric to y axis.
68           dot.setRadius(25);
69           klee.moveToCenter();
70           klee.mrt(110);
71           klee.mbk(110);
72           klee.setColor(Color.RED);
73           klee.paint(dot);
74           klee.moveToCenter();
75           klee.mlt(110);
76           klee.mbk(110);
77           klee.paint(dot);
78   
79       }
80       private void paintGreenCircles(SPainter klee,SCircle dot){
81           //program to paint 2 green circle mirroring to each other.
82           dot.setRadius(45);
83           klee.moveToCenter();
84           klee.mlt(100);
85           klee.mbk(30);
86           klee.setColor(Color.GREEN);
87           klee.paint(dot);
88           klee.moveToCenter();
89           klee.mrt(100);
90           klee.mbk(30);
91           klee.paint(dot);
92   
93   
94   
95   }
96   }
97