private Canvas()
	    {
	        component = new CanvasComponent();

	        if (System.getProperty("com.horstmann.codecheck") == null)
	        {
	            frame = new JFrame();
	            if (!System.getProperty("java.class.path").contains("bluej"))
	                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	            frame.add(component);
	            frame.pack();
	            frame.setLocation(LOCATION_OFFSET, LOCATION_OFFSET);
	            frame.setVisible(true);
	        }
	        else
	        {
	            final String SAVEFILE ="canvas.png";
	            final Thread currentThread = Thread.currentThread();
	            Thread watcherThread = new Thread() 
	                {
	                    public void run()
	                    {
	                        try
	                        {
	                            final int DELAY = 10;
	                            
	                            while (currentThread.getState() != Thread.State.TERMINATED)
	                            {
	                                Thread.sleep(DELAY);
	                            }
	                            saveToDisk(SAVEFILE);
	                        }
	                        catch (Exception ex)
	                        {
	                            ex.printStackTrace();
	                        }
	                    }
	                };
	            watcherThread.start();
	        }
	    }