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