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