public void updateWithNewValuesFromScrollBar(JScrollBar jScrollBar)
	{
		if(ignoreScrollBarUpdates)
			return;
		
		ScrollBarCalculator sbc = new ScrollBarCalculator(this);
		
		if( checkForExtremes(sbc, jScrollBar))
			return;
		
		float totalNumberOfIncrements = jScrollBar.getMaximum() - jScrollBar.getVisibleAmount();
		float lowVal = sbc.getMaxValToShow() - sbc.getCurrentDataWidth();
		
		lowVal = lowVal - 
		    jScrollBar.getValue() 
		    * (sbc.getMaxValToShow() - sbc.getMinValToShow() - sbc.getCurrentDataWidth())/
		    								totalNumberOfIncrements;
		
		if( ! isYAxis())
			lowVal = sbc.getMaxValToShow() - lowVal + sbc.getMinValToShow();
		
		if (lowVal < sbc.getMinValToShow())
			lowVal = sbc.getMinValToShow();
		
		if( lowVal > sbc.getMaxValToShow() - sbc.getCurrentDataWidth())
			lowVal = sbc.getMaxValToShow() - sbc.getCurrentDataWidth();
		
		float highVal = lowVal + sbc.getCurrentDataWidth();
		
		if( highVal > sbc.getMaxValToShow())
			highVal = sbc.getMaxValToShow();
		
		this.lowVal = lowVal;
		this.highVal = highVal;
	}