private boolean hasSpaceToDraw(int previousPosition,int tickLabelPosition,String previousTickLabel,String tickLabel){
  Dimension tickLabelSize=FigureUtilities.getTextExtents(tickLabel,scale.getFont());
  Dimension previousTickLabelSize=FigureUtilities.getTextExtents(previousTickLabel,scale.getFont());
  int interval=tickLabelPosition - previousPosition;
  int textLength=(int)(scale.isHorizontal() ? (tickLabelSize.width / 2.0 + previousTickLabelSize.width / 2.0) : tickLabelSize.height);
  boolean noLapOnPrevoius=true;
  boolean noLapOnEnd=true;
  if (tickLabelPosition != tickLabelPositions.get(tickLabelPositions.size() - 1)) {
    noLapOnPrevoius=interval > (textLength + TICK_LABEL_GAP);
    Dimension endTickLabelSize=FigureUtilities.getTextExtents(tickLabels.get(tickLabels.size() - 1),scale.getFont());
    interval=tickLabelPositions.get(tickLabelPositions.size() - 1) - tickLabelPosition;
    textLength=(int)(scale.isHorizontal() ? (tickLabelSize.width / 2.0 + endTickLabelSize.width / 2.0) : tickLabelSize.height);
    noLapOnEnd=interval > textLength + TICK_LABEL_GAP;
  }
  return noLapOnPrevoius && noLapOnEnd;
}

private boolean hasSpaceToDraw ( int previousPosition , int tickLabelPosition , String previousTickLabel , String tickLabel ) { Dimension tickLabelSize = FigureUtilities . getTextExtents ( tickLabel , scale . getFont ( ) ) ; Dimension previousTickLabelSize = FigureUtilities . getTextExtents ( previousTickLabel , scale . getFont ( ) ) ; int interval = tickLabelPosition - previousPosition ; int textLength = ( int ) ( scale . isHorizontal ( ) ? ( tickLabelSize . width / 2.0 + previousTickLabelSize . width / 2.0 ) : tickLabelSize . height ) ; boolean noLapOnPrevoius = true ; boolean noLapOnEnd = true ; if ( tickLabelPosition != tickLabelPositions . get ( tickLabelPositions . size ( ) - 1 ) ) { noLapOnPrevoius = interval > ( textLength + TICK_LABEL_GAP ) ; Dimension endTickLabelSize = FigureUtilities . getTextExtents ( tickLabels . get ( tickLabels . size ( ) - 1 ) , scale . getFont ( ) ) ; interval = tickLabelPositions . get ( tickLabelPositions . size ( ) - 1 ) - tickLabelPosition ; textLength = ( int ) ( scale . isHorizontal ( ) ? ( tickLabelSize . width / 2.0 + endTickLabelSize . width / 2.0 ) : tickLabelSize . height ) ; noLapOnEnd = interval > textLength + TICK_LABEL_GAP ; } return noLapOnPrevoius && noLapOnEnd ; }
returns the state indicating if there is a space to draw tick label .
