horizontal.setIncrement( (int) ( getClientArea( ).width / 100 ) );
horizontal.setIncrement( ( getClientArea( ).width / 100 ) );
	public void syncScrollBars( )	{		if ( sourceImage == null )		{			redraw( );			return;		}		AffineTransform af = transform;		double sx = af.getScaleX( ), sy = af.getScaleY( );		double tx = af.getTranslateX( ), ty = af.getTranslateY( );		if ( tx > 0 )			tx = 0;		if ( ty > 0 )			ty = 0;		Rectangle imageBound = sourceImage.getBounds( );		int cw = getClientArea( ).width, ch = getClientArea( ).height;		ScrollBar horizontal = getHorizontalBar( );		if ( horizontal != null )		{			horizontal.setIncrement( (int) ( getClientArea( ).width / 100 ) );			horizontal.setPageIncrement( getClientArea( ).width );			if ( imageBound.width * sx > cw )			{				horizontal.setMaximum( (int) ( imageBound.width * sx ) );				horizontal.setEnabled( true );				if ( ( (int) -tx ) > horizontal.getMaximum( ) - cw )					tx = -horizontal.getMaximum( ) + cw;			}			else			{				horizontal.setEnabled( false );				tx = ( cw - imageBound.width * sx ) / 2;			}			horizontal.setSelection( (int) ( -tx ) );			horizontal.setThumb( (int) ( getClientArea( ).width ) );		}		ScrollBar vertical = getVerticalBar( );		if ( vertical != null )		{			vertical.setIncrement( (int) ( getClientArea( ).height / 100 ) );			vertical.setPageIncrement( (int) ( getClientArea( ).height ) );			if ( imageBound.height * sy > ch )			{				vertical.setMaximum( (int) ( imageBound.height * sy ) );				vertical.setEnabled( true );				if ( ( (int) -ty ) > vertical.getMaximum( ) - ch )					ty = -vertical.getMaximum( ) + ch;			}			else			{				vertical.setEnabled( false );				ty = ( ch - imageBound.height * sy ) / 2;			}			vertical.setSelection( (int) ( -ty ) );			vertical.setThumb( (int) ( getClientArea( ).height ) );		}		af = AffineTransform.getScaleInstance( sx, sy );		af.preConcatenate( AffineTransform.getTranslateInstance( tx, ty ) );		transform = af;		redraw( );	}