org.jfree.chart.plot
Class PieLabelDistributor

java.lang.Object
  extended byorg.jfree.chart.plot.PieLabelDistributor

public class PieLabelDistributor
extends java.lang.Object

This class distributes the section labels for one side of a pie chart so that they do not overlap.


Constructor Summary
PieLabelDistributor(int labelCount)
          Creates a new distributor.
 
Method Summary
 void addPieLabelRecord(PieLabelRecord record)
          Adds a label record.
protected  void adjustDownwards(double minY, double height)
          Any labels that are overlapping are moved down in an attempt to eliminate the overlaps.
protected  void adjustInwards()
          Adjusts the y-coordinate for the labels in towards the center in an attempt to fix overlapping.
protected  void adjustUpwards(double minY, double height)
          Any labels that are overlapping are moved up in an attempt to eliminate the overlaps.
 void distributeLabels(double minY, double height)
          Distributes the labels.
 int getItemCount()
          Returns the number of items in the list.
 PieLabelRecord getPieLabelRecord(int index)
          Returns a label record from the list.
 void sort()
          Sorts the label records into ascending order by y-value.
protected  void spreadEvenly(double minY, double height)
          Labels are spaced evenly in the available space in an attempt to eliminate the overlaps.
 java.lang.String toString()
          Returns a string containing a description of the object for debugging purposes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PieLabelDistributor

public PieLabelDistributor(int labelCount)
Creates a new distributor.

Parameters:
labelCount - the number of labels.
Method Detail

getPieLabelRecord

public PieLabelRecord getPieLabelRecord(int index)
Returns a label record from the list.

Parameters:
index - the index.
Returns:
the label record.

addPieLabelRecord

public void addPieLabelRecord(PieLabelRecord record)
Adds a label record.

Parameters:
record - the label record.

getItemCount

public int getItemCount()
Returns the number of items in the list.

Returns:
the item count.

distributeLabels

public void distributeLabels(double minY,
                             double height)
Distributes the labels.

Parameters:
minY - the minimum y-coordinate in Java2D-space.
height - the height.

adjustInwards

protected void adjustInwards()
Adjusts the y-coordinate for the labels in towards the center in an attempt to fix overlapping.


adjustDownwards

protected void adjustDownwards(double minY,
                               double height)
Any labels that are overlapping are moved down in an attempt to eliminate the overlaps.

Parameters:
minY - the minimum y value (in Java2D coordinate space).
height - the height available for all labels.

adjustUpwards

protected void adjustUpwards(double minY,
                             double height)
Any labels that are overlapping are moved up in an attempt to eliminate the overlaps.

Parameters:
minY - the minimum y value (in Java2D coordinate space).
height - the height available for all labels.

spreadEvenly

protected void spreadEvenly(double minY,
                            double height)
Labels are spaced evenly in the available space in an attempt to eliminate the overlaps.

Parameters:
minY - the minimum y value (in Java2D coordinate space).
height - the height available for all labels.

sort

public void sort()
Sorts the label records into ascending order by y-value.


toString

public java.lang.String toString()
Returns a string containing a description of the object for debugging purposes.

Returns:
a string.