public void paintComponent( Graphics g )
		{
			super.paintComponent( g );
		
			final Graphics2D		g2		= (Graphics2D) g;
			final FontMetrics		fm		= g2.getFontMetrics();
			final FontMetrics		fm2		= g2.getFontMetrics( fntToolTip );
			final AffineTransform	atOrig	= g2.getTransform();

			g2.setRenderingHint( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON );
			g2.setRenderingHint( RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON );

			g2.scale( zoom, zoom );
			
			if( recalc ) {
				createBoxes( g2, fm, fm2 );
			}
			
			UGenView	uv;
			Wire		wire;
			
			for( int i = 0; i < collUGenViews.size(); i++ ) {
				uv = (UGenView) collUGenViews.get( i );
				uv.paint( g2, fm, false );
			}

			for( int i = 0; i < collWires.size(); i++ ) {
				wire = (Wire) collWires.get( i );
				wire.paint( g2 );
			}
			
			g2.setFont( fntToolTip );
			for( int i = 0; i < collUGenViews.size(); i++ ) {
				uv = (UGenView) collUGenViews.get( i );
				if( uv.isShowingToolTips() ) uv.paintToolTips( g2, fm2 );
			}
			g2.setFont( fntUGen );

			if( dragStarted ) {
				g2.translate( dragCurrentPt.getX() - dragStartPt.getX(), dragCurrentPt.getY() - dragStartPt.getY() );
				for( int i = 0; i < collSelectedViews.size(); i++ ) {
					uv = (UGenView) collSelectedViews.get( i );
					uv.paint( g2, fm, true );
				}
			}

			g2.setTransform( atOrig );
		}