public void init() {
		// Set look & feel
        try { 
            if (System.getProperty("os.name").toLowerCase().indexOf("mac") != -1) {
                System.setProperty("com.apple.mrj.application.apple.menu.about.name", "Diffusion");
                System.setProperty("apple.laf.useScreenMenuBar", "true");
            }
        	MetalLookAndFeel.setCurrentTheme(new ContrastTheme());
            UIManager.setLookAndFeel(new MetalLookAndFeel());
        } catch (Exception e) {
            System.err.println(e.getMessage());
        }		
		
		try {
			int newHeight = Integer.parseInt(getParameter("spaceHeight"));
			if (newHeight > 0)
				height = newHeight;
		} catch (NumberFormatException ex) {
        } catch (NullPointerException ex) {
        } 
		
		try {
			int newWidth = Integer.parseInt(getParameter("spaceWidth"));
			if (newWidth > 0)
				width = newWidth;
		} catch (NumberFormatException ex) {
        } catch (NullPointerException ex) {
        } 
		
		this.setSize(1100, 820);
		this.setContentPane(getJContentPane());
				
		// Graphic window
		int d = GridView.defaultNodeDistance;
		gridView = new GridView(getSpace(), width*d, height*d);
        gridView.setAutoRegenerateBackImage(true);
        gridView.generateBackImage();
        
        jSplitPane.setRightComponent(gridView);

		thread = new Thread(this);
	}