1 package npw; 2 3 import painter.SPainter; 4 import shapes.SCircle; 5 import shapes.SSquare; 6 import javax.swing.*; 7 import java.awt.*; 8 9 public class KanizaSquare { 10 private void paintTheImage() { 11 SPainter painter = new SPainter("KanizsaSquare",400,400); 12 13 SCircle dot = new SCircle(75); 14 paintBlueCircle(painter, dot); 15 paintRedCircle(painter, dot); 16 paintGreenCircles(painter, dot); 17 18 SSquare square = new SSquare(200); 19 paintWhiteSquare(painter, square); 20 } 21 22 private void paintBlueCircle(SPainter painter, SCircle dot) { 23 painter.setColor((Color.blue)); 24 painter.mfd(100); 25 painter.mlt(100); 26 painter.paint(dot); 27 28 } 29 30 private void paintRedCircle(SPainter painter, SCircle dot) { 31 painter.setColor(Color.red); 32 painter.mbk(200); 33 painter.mrt(200); 34 painter.paint(dot); 35 } 36 37 private void paintWhiteSquare(SPainter painter, SSquare square) { 38 painter.setColor(Color.white); 39 painter.moveToCenter(); 40 painter.paint(square); 41 42 } 43 44 private void paintGreenCircles(SPainter painter, SCircle dot) { 45 painter.setColor(Color.green); 46 painter.mbk(5); 47 painter.mlt(200); 48 painter.paint(dot); 49 painter.setColor(Color.green); 50 painter.mfd(200); 51 painter.mrt(190); 52 painter.paint(dot); 53 54 55 56 57 } 58 59 60 // REQUIRED INFRASTRUCTURE 61 public KanizaSquare() { 62 paintTheImage(); 63 } 64 public static void main(String[] args) { 65 SwingUtilities.invokeLater(new Runnable() { 66 public void run() { 67 new KanizaSquare(); 68 } 69 }); 70 } 71 72 }