Package org.jCharts.chartData.processors
Class TextProcessor
- java.lang.Object
-
- org.jCharts.chartData.processors.TextProcessor
-
public class TextProcessor extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private floattallestLabelprivate java.util.ArrayListtextTagsprivate floattotalLabelWidthsprivate floatwidestLabel
-
Constructor Summary
Constructors Constructor Description TextProcessor()Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddLabel(java.lang.String label, java.awt.Font font, java.awt.font.FontRenderContext fontRenderContext)floatgetTallestLabel()TextTaggetTextTag(int index)floatgetTotalLabelWidths()floatgetWidestLabel()Calculates the width and height needed by the passed String when rendered // * @param iDataSeries / * @param font // * @param fontRenderContext public void processLabels( IDataSeries iDataSeries) { //LOOP for( int i = 0; i < iDataSeries.getNumberOfXAxisLabels(); i++ ) { this.axisLabelProcessor.processLabel( iDataSeries.getXAxisLabel( i ), axisLabelFont, fontRenderContext ); } TextLayout textLayout = new TextLayout( label, font, fontRenderContext ); //---WIDTH this.labelWidths[ counter ] = textLayout.getAdvance(); this.widestLabel = Math.max( this.labelWidths[ counter ], this.widestLabel ); this.totalLabelWidths += this.labelWidths[ counter ]; //---HEIGHT this.labelHeights[ counter ] = textLayout.getAscent() + textLayout.getDescent(); this.tallestLabel = Math.max( this.labelHeights[ counter ], this.tallestLabel ); //---need this to offset font rendering, as rendering is at the baseline not bottom or top, this.fontDescent = textLayout.getDescent(); this.counter++; } /******************************************************************************************intsize()Returns the number of labels
-
-
-
Method Detail
-
addLabel
public void addLabel(java.lang.String label, java.awt.Font font, java.awt.font.FontRenderContext fontRenderContext)- Parameters:
label-font-fontRenderContext-
-
size
public int size()
Returns the number of labels- Returns:
- int
-
getWidestLabel
public float getWidestLabel()
Calculates the width and height needed by the passed String when rendered // * @param iDataSeries / * @param font // * @param fontRenderContext public void processLabels( IDataSeries iDataSeries) { //LOOP for( int i = 0; i < iDataSeries.getNumberOfXAxisLabels(); i++ ) { this.axisLabelProcessor.processLabel( iDataSeries.getXAxisLabel( i ), axisLabelFont, fontRenderContext ); } TextLayout textLayout = new TextLayout( label, font, fontRenderContext ); //---WIDTH this.labelWidths[ counter ] = textLayout.getAdvance(); this.widestLabel = Math.max( this.labelWidths[ counter ], this.widestLabel ); this.totalLabelWidths += this.labelWidths[ counter ]; //---HEIGHT this.labelHeights[ counter ] = textLayout.getAscent() + textLayout.getDescent(); this.tallestLabel = Math.max( this.labelHeights[ counter ], this.tallestLabel ); //---need this to offset font rendering, as rendering is at the baseline not bottom or top, this.fontDescent = textLayout.getDescent(); this.counter++; } /******************************************************************************************
-
getTallestLabel
public float getTallestLabel()
-
getTotalLabelWidths
public float getTotalLabelWidths()
-
getTextTag
public TextTag getTextTag(int index)
- Parameters:
index-- Returns:
- TextTag
-
-