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