ElegantJCharts Java API Specification v2.0

com.elegantj.graphx.bar
Class BarGraphTypeObject

java.lang.Object
  |
  +--com.elegantj.graphx.GraphTypeObject
        |
        +--com.elegantj.graphx.bar.BarGraphTypeObject
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
HorizontalBarGraphTypeObject, StackedVBarGraph, VBarGraph

public class BarGraphTypeObject
extends GraphTypeObject
implements java.io.Serializable

BarGraphTypeObject is used to render Vertical Bar Graph

See Also:
Serialized Form

Field Summary
protected static int EXPLAN_HOFFSET
          Specifies the constant for explanation notes horizontal offset
protected static int H_SPACE
          Specifies the Horizontal offset
protected  int m_3DHOffset
          Specifies the Horizontal Deviation for Display 3D effect
protected  int m_3DVOffset
          Specifies the Vertical Deviation for Display 3D effect
protected  BarGraph m_BarGraph
          Specifies BarGraph Object
protected  BarGraphExplanNotes m_BarGraphExplanNotes
          Specifies the graph explanation notes
protected  int m_BarWidth
          Specifies the bar width
protected  int m_ExplanAreaAlign
          Specifies the Explanation area Alignment(LEFT/CENTER/RIGHT OR TOP/CENTER/BOTTOM)
protected  int m_ExplanAreaHeight
          Specifies the Explanation area height
protected  int m_ExplanAreaPosition
          Specifies the Explanation area Position(NORTH/EAST/SOUTH/WEST)
protected  int m_ExplanAreaWidth
          Specifies the explanation area width
protected static boolean m_fDebug
          Specifies the execution mode
protected  int m_FontHeight
          Specifies the font height
protected  int m_GraphAreaWidth
          Specifies the graph width
protected  GraphBarDetail m_GraphBarDetail
          Specifies the Bar Properties of Graph
protected  GraphLabel m_GraphLabel
          Specifies the graph label
protected  java.awt.Polygon m_GraphRectangle
          Specifies Actual Graph Area Rectangle
protected  GraphTitleDetail m_GraphTitleDetail
          Specifies the Title Detail for Graph
protected  GraphXAxisDetail m_GraphXAxisDetail
          Specifies the X-Axis Detail for Graph
protected  java.awt.Rectangle m_GraphXAxisRectangle
          Specifies Actual X-Axis label Area Rectangle
protected  GraphYAxisDetail m_GraphYAxisDetail
          Specifies the Y-Axis Detail for Graph
protected  java.awt.Rectangle m_GraphYAxisRectangle
          Specifies Actual Y-Axis Label Area Rectangle
protected  GraphZAxisDetail m_GraphZAxisDetail
          Specifies the Z-Axis (Legends) Detail for Graph
protected  java.awt.Rectangle m_GraphZAxisRectangle
          Specifies Actual Z-Axis Label Area Rectangle
protected  int m_Height
          Specifies the total height
protected  int m_HOffset
          Specifies the horizontal offset
protected  boolean m_Is3DGraph
          Specifies 3D effect is Enable or Disable
protected  boolean m_IsPointSet
          Specifies the Mouse Over effect is drawn then this flag is false
protected  int m_MinusYClipLabels
          Specifies the total number of y-axis minimum labels
protected  int m_MinusYClipLength
          Specifies the y-axis minimum extra length
protected  java.awt.Rectangle m_MouseOverTextRect
          Specifies Mouse Over text Area Rectangle
protected  DrillDownDetail m_OldMODetail
          Specifies old Mouse Over Object (DrillDownDetail)
protected  int m_PlusYClipLabels
          Specifies the total number of y-axis maximum labels
protected  int m_PlusYClipLength
          Specifies the y-axis maximum extra length
protected  java.awt.Polygon[] m_PolXLabelList
          contain bound polygon of X axis labels
protected  java.awt.Polygon[] m_PolYLabelList
          contain bound polygon of Y axis labels
protected  java.util.Vector m_SBDataMatrix
          contain graph data for stacked bar graph
protected  TextAlign m_TextAlign
          Specifies the text alignment
protected  java.awt.Font m_TitleFont
          Specifies Title Font
protected  int m_TitleFontHeight
          Specifies Graph Title Font Height
protected  int m_TitleHeight
          Specifies Graph Title Height
protected  java.awt.Rectangle m_TitleRectangle
          Specifies Title Rectangle
protected  int m_VOffset
          Specifies the vertical offset
protected  int m_Width
          Specifies the total width
protected  int m_XAxisHeight
          Specifies X-Axis Label Height
protected  java.awt.Font m_XAxisLabelFont
          Specifies X-Axis Font
protected  int m_XAxisWidth
          Specifies X-Axis Label Width
protected  int m_XGradLength
          Specifies the x-axis gradient length
protected  int m_XLabels
          Specifies the total number of x-axis labels
protected  int m_XLabelVSteps
          Specifies the total number of x-axis labels vertical steps
protected  int m_XLength
          Specifies the x-axis length
protected  double m_YAbsGradLabel
          Specifies the y-axis gradient absolute label size
protected  int m_YAxisHeight
          Specifies Y-Axis Label Height
protected  java.awt.Font m_YAxisLabelFont
          Specifies Y-Axis Font
protected  int m_YAxisWidth
          Specifies Y-Axis Label Width
protected  int m_YClipLabels
          Specifies the total number of y-axis labels
protected  int m_YClipLength
          Specifies the y-axis length
protected  int m_YGradLength
          Specifies the y-axis gradient length
protected  int m_YLabelVSteps
          Specifies the number of Y-axis labels skip steps
protected  double m_YMaxLabelValue
          Specifies the y-axis maximum value
protected  int m_YMaxLabelWidth
          Specifies Y-Axis Label Maximum Width
protected  double m_YMinLabelValue
          Specifies the y-axis minimum value
protected  int m_ZGradLength
          Specifies the z-axis gradient length
protected  int m_ZLabels
          Specifies the total number of z-axis labels
 
Fields inherited from class com.elegantj.graphx.GraphTypeObject
m_GraphicsEx
 
Constructor Summary
BarGraphTypeObject(BarGraph inGraphMain)
          Creates the GraphBarGraphTypeObject with specified BarGraph object
 
Method Summary
 void draw2DGraph()
          Draws the 2D Graph
 void draw3DGraph()
          Draws the 3D Graph
protected  void drawExplanNotes()
          Draws the explanation notes
 void drawGraph()
          Draws the Graph
protected  void drawGraphAreaBackground(GraphicsEx inGraphicsEx)
          Draws Backgound of Actual graph Area
 boolean drawMouseOverEffect(GraphicsEx inGraphicsEx, DrillDownDetail inDDD, boolean isMOEDraw, com.elegantj.editors.AWTBorder inBorder, boolean isMOTDraw, boolean isRestore)
          This method returns true If any shape is drawn on given graphics Object otherwize false
 java.awt.Rectangle drawMouseOverText(GraphicsEx inGraphicsEx, DrillDownDetail inDDD, int inH, int inV, int inWidth, int inHeight)
          This method draws mouse over Text
protected  void drawPolygon(GraphicsEx inGraphicsEx, java.awt.Polygon inPolygon, int inBrStyle, int inBrWidth, java.awt.Color inBrColor, boolean isHorizontal)
          This method draw border to polygon
 java.awt.Rectangle drawStaticMouseOverText(GraphicsEx inGraphicsEx)
          This method draws Static mouse over Text
protected  void drawTitle()
          Draws the title
protected  void drawXAxisGridAndTick()
          Draws The X-Axis Grid and Tick lines
protected  void drawXAxisLabels()
          Draws The X-Axis Labels
protected  void drawXAxisLine()
          Draws The X-Axis Line
protected  void drawYAxisGridAndTick()
          Draws The Y-Axis Grid and Tick lines
protected  void drawYAxisLabels()
          Draws The Y-Axis Labels
protected  void drawYAxisLine()
          Draws The Y-Axis
 DrillDownDetail getClickedXAxisLabel(int click_x, int click_y)
          If Given Point on X axis Label then it will Return Drilldowndetail Object Otherwise Return null
 DrillDownDetail getClickedYAxisLabel(int click_x, int click_y)
          If Given Point on Y axis Label then it will Return Drilldowndetail Object Otherwise Return null
 DrillDownDetail getDrillDetail(int click_x, int click_y)
          If Given Point on Graph then it will Return Drilldowndetail Object Otherwise Return null (Common function for 2D and 3D Graph)
 DrillDownDetail getDrillDownDetail(GraphicsEx inGraphicsEx, int click_x, int click_y)
          If Given Point on Graph then it will Return Drilldowndetail Object and draw mouse over effect and mouse over text Otherwise Return null
protected  DrillDownDetail getDrillDownDetail(int click_x, int click_y)
          If Given Point on Graph then it will Return Drilldowndetail Object Otherwise Return null
 java.awt.Polygon getGraphAreaPolygon()
          Get Polygon for Graph Area excluding title space, x-Axis space, y-Axis space and Legend space
protected  java.awt.Polygon getPolygon(int xStart, int yStart, int Width, int Height, int hOffset, int vOffset)
          Return polygon(surface) for 3D effect
static int getPreferredWidth(BarGraph inBarGraph, GraphicsEx inGraphicsEx, int inWidth, int inHeight, int inBarWidth)
          Return preferred width of Graph for given bar width.
 int getSeriesIndex(int click_x)
          Return Series Index near to given horizontal distance
protected static int getTickHeight(AxisDetail inAxisDetail)
           
protected  void init(GraphPanel inGraphPanel)
          Initialization of Graph
protected  void initFields()
           
 void initTitle()
          Calculation for Title Of Graph
 void reDrawing(GraphicsEx inGraphicsEx)
          Redraw Graph According to Graphics's clipping rectangle th
 DrillDownDetail setMouseOverPoint(GraphicsEx inGraphicsEx, int click_x, int click_y)
          If Given Point on Graph then it will Return Drilldowndetail Object and draw mouse over effect and mouse over text Otherwise Return null
 
Methods inherited from class com.elegantj.graphx.GraphTypeObject
initDrawing
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_fDebug

protected static final boolean m_fDebug
Specifies the execution mode

See Also:
Constant Field Values

m_IsPointSet

protected boolean m_IsPointSet
Specifies the Mouse Over effect is drawn then this flag is false


EXPLAN_HOFFSET

protected static final int EXPLAN_HOFFSET
Specifies the constant for explanation notes horizontal offset

See Also:
Constant Field Values

H_SPACE

protected static final int H_SPACE
Specifies the Horizontal offset

See Also:
Constant Field Values

m_Width

protected int m_Width
Specifies the total width


m_Height

protected int m_Height
Specifies the total height


m_GraphAreaWidth

protected int m_GraphAreaWidth
Specifies the graph width


m_ExplanAreaWidth

protected int m_ExplanAreaWidth
Specifies the explanation area width


m_ExplanAreaHeight

protected int m_ExplanAreaHeight
Specifies the Explanation area height


m_HOffset

protected int m_HOffset
Specifies the horizontal offset


m_VOffset

protected int m_VOffset
Specifies the vertical offset


m_XLength

protected int m_XLength
Specifies the x-axis length


m_XLabels

protected int m_XLabels
Specifies the total number of x-axis labels


m_XGradLength

protected int m_XGradLength
Specifies the x-axis gradient length


m_XLabelVSteps

protected int m_XLabelVSteps
Specifies the total number of x-axis labels vertical steps


m_YClipLength

protected int m_YClipLength
Specifies the y-axis length


m_PlusYClipLength

protected int m_PlusYClipLength
Specifies the y-axis maximum extra length


m_MinusYClipLength

protected int m_MinusYClipLength
Specifies the y-axis minimum extra length


m_YClipLabels

protected int m_YClipLabels
Specifies the total number of y-axis labels


m_PlusYClipLabels

protected int m_PlusYClipLabels
Specifies the total number of y-axis maximum labels


m_MinusYClipLabels

protected int m_MinusYClipLabels
Specifies the total number of y-axis minimum labels


m_YGradLength

protected int m_YGradLength
Specifies the y-axis gradient length


m_YAbsGradLabel

protected double m_YAbsGradLabel
Specifies the y-axis gradient absolute label size


m_YMaxLabelValue

protected double m_YMaxLabelValue
Specifies the y-axis maximum value


m_YMinLabelValue

protected double m_YMinLabelValue
Specifies the y-axis minimum value


m_ZLabels

protected int m_ZLabels
Specifies the total number of z-axis labels


m_ZGradLength

protected int m_ZGradLength
Specifies the z-axis gradient length


m_FontHeight

protected int m_FontHeight
Specifies the font height


m_BarWidth

protected int m_BarWidth
Specifies the bar width


m_GraphLabel

protected GraphLabel m_GraphLabel
Specifies the graph label


m_BarGraphExplanNotes

protected BarGraphExplanNotes m_BarGraphExplanNotes
Specifies the graph explanation notes


m_TextAlign

protected TextAlign m_TextAlign
Specifies the text alignment


m_GraphTitleDetail

protected GraphTitleDetail m_GraphTitleDetail
Specifies the Title Detail for Graph


m_GraphXAxisDetail

protected GraphXAxisDetail m_GraphXAxisDetail
Specifies the X-Axis Detail for Graph


m_GraphYAxisDetail

protected GraphYAxisDetail m_GraphYAxisDetail
Specifies the Y-Axis Detail for Graph


m_GraphZAxisDetail

protected GraphZAxisDetail m_GraphZAxisDetail
Specifies the Z-Axis (Legends) Detail for Graph


m_GraphBarDetail

protected GraphBarDetail m_GraphBarDetail
Specifies the Bar Properties of Graph


m_TitleFont

protected java.awt.Font m_TitleFont
Specifies Title Font


m_TitleFontHeight

protected int m_TitleFontHeight
Specifies Graph Title Font Height


m_XAxisLabelFont

protected java.awt.Font m_XAxisLabelFont
Specifies X-Axis Font


m_YAxisLabelFont

protected java.awt.Font m_YAxisLabelFont
Specifies Y-Axis Font


m_TitleHeight

protected int m_TitleHeight
Specifies Graph Title Height


m_XAxisHeight

protected int m_XAxisHeight
Specifies X-Axis Label Height


m_XAxisWidth

protected int m_XAxisWidth
Specifies X-Axis Label Width


m_YAxisHeight

protected int m_YAxisHeight
Specifies Y-Axis Label Height


m_YAxisWidth

protected int m_YAxisWidth
Specifies Y-Axis Label Width


m_YMaxLabelWidth

protected int m_YMaxLabelWidth
Specifies Y-Axis Label Maximum Width


m_Is3DGraph

protected boolean m_Is3DGraph
Specifies 3D effect is Enable or Disable


m_3DHOffset

protected int m_3DHOffset
Specifies the Horizontal Deviation for Display 3D effect


m_3DVOffset

protected int m_3DVOffset
Specifies the Vertical Deviation for Display 3D effect


m_BarGraph

protected BarGraph m_BarGraph
Specifies BarGraph Object


m_ExplanAreaPosition

protected int m_ExplanAreaPosition
Specifies the Explanation area Position(NORTH/EAST/SOUTH/WEST)


m_ExplanAreaAlign

protected int m_ExplanAreaAlign
Specifies the Explanation area Alignment(LEFT/CENTER/RIGHT OR TOP/CENTER/BOTTOM)


m_GraphRectangle

protected java.awt.Polygon m_GraphRectangle
Specifies Actual Graph Area Rectangle


m_GraphXAxisRectangle

protected java.awt.Rectangle m_GraphXAxisRectangle
Specifies Actual X-Axis label Area Rectangle


m_GraphYAxisRectangle

protected java.awt.Rectangle m_GraphYAxisRectangle
Specifies Actual Y-Axis Label Area Rectangle


m_GraphZAxisRectangle

protected java.awt.Rectangle m_GraphZAxisRectangle
Specifies Actual Z-Axis Label Area Rectangle


m_TitleRectangle

protected java.awt.Rectangle m_TitleRectangle
Specifies Title Rectangle


m_MouseOverTextRect

protected java.awt.Rectangle m_MouseOverTextRect
Specifies Mouse Over text Area Rectangle


m_OldMODetail

protected DrillDownDetail m_OldMODetail
Specifies old Mouse Over Object (DrillDownDetail)


m_SBDataMatrix

protected java.util.Vector m_SBDataMatrix
contain graph data for stacked bar graph


m_PolXLabelList

protected java.awt.Polygon[] m_PolXLabelList
contain bound polygon of X axis labels


m_PolYLabelList

protected java.awt.Polygon[] m_PolYLabelList
contain bound polygon of Y axis labels


m_YLabelVSteps

protected int m_YLabelVSteps
Specifies the number of Y-axis labels skip steps

Constructor Detail

BarGraphTypeObject

public BarGraphTypeObject(BarGraph inGraphMain)
                   throws GraphException
Creates the GraphBarGraphTypeObject with specified BarGraph object

Method Detail

init

protected void init(GraphPanel inGraphPanel)
             throws GraphException
Initialization of Graph

Overrides:
init in class GraphTypeObject
GraphException

initFields

protected void initFields()
                   throws GraphException
GraphException

reDrawing

public void reDrawing(GraphicsEx inGraphicsEx)
               throws GraphException
Description copied from class: GraphTypeObject
Redraw Graph According to Graphics's clipping rectangle th

Overrides:
reDrawing in class GraphTypeObject
Throws:
GraphException

drawGraph

public void drawGraph()
Draws the Graph

Overrides:
drawGraph in class GraphTypeObject

draw2DGraph

public void draw2DGraph()
Draws the 2D Graph


draw3DGraph

public void draw3DGraph()
Draws the 3D Graph


drawGraphAreaBackground

protected void drawGraphAreaBackground(GraphicsEx inGraphicsEx)
Draws Backgound of Actual graph Area

Overrides:
drawGraphAreaBackground in class GraphTypeObject

drawXAxisLine

protected void drawXAxisLine()
Draws The X-Axis Line

Overrides:
drawXAxisLine in class GraphTypeObject

drawXAxisLabels

protected void drawXAxisLabels()
Draws The X-Axis Labels

Overrides:
drawXAxisLabels in class GraphTypeObject

drawXAxisGridAndTick

protected void drawXAxisGridAndTick()
Draws The X-Axis Grid and Tick lines

Overrides:
drawXAxisGridAndTick in class GraphTypeObject

drawYAxisLine

protected void drawYAxisLine()
Draws The Y-Axis

Overrides:
drawYAxisLine in class GraphTypeObject

drawYAxisLabels

protected void drawYAxisLabels()
Draws The Y-Axis Labels

Overrides:
drawYAxisLabels in class GraphTypeObject

drawYAxisGridAndTick

protected void drawYAxisGridAndTick()
Draws The Y-Axis Grid and Tick lines

Overrides:
drawYAxisGridAndTick in class GraphTypeObject

initTitle

public void initTitle()
Calculation for Title Of Graph


drawTitle

protected void drawTitle()
Draws the title

Overrides:
drawTitle in class GraphTypeObject

drawExplanNotes

protected void drawExplanNotes()
Draws the explanation notes

Overrides:
drawExplanNotes in class GraphTypeObject

drawPolygon

protected void drawPolygon(GraphicsEx inGraphicsEx,
                           java.awt.Polygon inPolygon,
                           int inBrStyle,
                           int inBrWidth,
                           java.awt.Color inBrColor,
                           boolean isHorizontal)
This method draw border to polygon

Parameters:
inGraphicsEx - GraphicsEx Object
inPolygon - Polygon Object
inBrWidth - border width
inBrColor - border color
inBrStyle - border style
isHorizontal - whether width is higher then height or not

setMouseOverPoint

public DrillDownDetail setMouseOverPoint(GraphicsEx inGraphicsEx,
                                         int click_x,
                                         int click_y)
If Given Point on Graph then it will Return Drilldowndetail Object and draw mouse over effect and mouse over text Otherwise Return null

Parameters:
inGraphicsEx - GraphicsEx Object
click_x - x point on graph
click_y - y point on graph

getDrillDetail

public DrillDownDetail getDrillDetail(int click_x,
                                      int click_y)
If Given Point on Graph then it will Return Drilldowndetail Object Otherwise Return null (Common function for 2D and 3D Graph)

Parameters:
click_x - x point on graph
click_y - y point on graph

getSeriesIndex

public int getSeriesIndex(int click_x)
Return Series Index near to given horizontal distance

Parameters:
click_x - Horizontal Distance
Returns:
int

drawMouseOverEffect

public boolean drawMouseOverEffect(GraphicsEx inGraphicsEx,
                                   DrillDownDetail inDDD,
                                   boolean isMOEDraw,
                                   com.elegantj.editors.AWTBorder inBorder,
                                   boolean isMOTDraw,
                                   boolean isRestore)
This method returns true If any shape is drawn on given graphics Object otherwize false

Parameters:
inGraphicsEx - GraphicsEx Object
inDDD - DrillDownDetail Object
isMOEDraw - true - to draw mouse over effect
inBorder - AWTBorder Object
isMOTDraw - true - to draw mouse over Text
isRestore - true - to draw mouse over effect or mouse over text, false - to remove mouse over effect or mouse over text
Returns:
boolean true If any shape is drawn on given graphics Object otherwize false

drawMouseOverText

public java.awt.Rectangle drawMouseOverText(GraphicsEx inGraphicsEx,
                                            DrillDownDetail inDDD,
                                            int inH,
                                            int inV,
                                            int inWidth,
                                            int inHeight)
This method draws mouse over Text

Parameters:
inGraphicsEx - GraphicsEx Object
inDDD - DrillDownDetail Object
inH - x point
inV - y point
inWidth - Bar Width
inHeight - Bar Height
Returns:
Rectangle Rectangle area where mouse over text is drawn

drawStaticMouseOverText

public java.awt.Rectangle drawStaticMouseOverText(GraphicsEx inGraphicsEx)
This method draws Static mouse over Text

Parameters:
inGraphicsEx - GraphicsEx Object

getPolygon

protected java.awt.Polygon getPolygon(int xStart,
                                      int yStart,
                                      int Width,
                                      int Height,
                                      int hOffset,
                                      int vOffset)
Return polygon(surface) for 3D effect


getDrillDownDetail

protected DrillDownDetail getDrillDownDetail(int click_x,
                                             int click_y)
If Given Point on Graph then it will Return Drilldowndetail Object Otherwise Return null


getDrillDownDetail

public DrillDownDetail getDrillDownDetail(GraphicsEx inGraphicsEx,
                                          int click_x,
                                          int click_y)
If Given Point on Graph then it will Return Drilldowndetail Object and draw mouse over effect and mouse over text Otherwise Return null

Parameters:
inGraphicsEx - GraphicsEx Object
click_x - x point on graph
click_y - y point on graph

getClickedXAxisLabel

public DrillDownDetail getClickedXAxisLabel(int click_x,
                                            int click_y)
If Given Point on X axis Label then it will Return Drilldowndetail Object Otherwise Return null


getClickedYAxisLabel

public DrillDownDetail getClickedYAxisLabel(int click_x,
                                            int click_y)
If Given Point on Y axis Label then it will Return Drilldowndetail Object Otherwise Return null


getPreferredWidth

public static int getPreferredWidth(BarGraph inBarGraph,
                                    GraphicsEx inGraphicsEx,
                                    int inWidth,
                                    int inHeight,
                                    int inBarWidth)
                             throws GraphException
Return preferred width of Graph for given bar width. This method is used for fixed bar width.

GraphException

getTickHeight

protected static int getTickHeight(AxisDetail inAxisDetail)

getGraphAreaPolygon

public java.awt.Polygon getGraphAreaPolygon()
Get Polygon for Graph Area excluding title space, x-Axis space, y-Axis space and Legend space

Returns:
Polygon Polygon object of graph area

ElegantJCharts Java API Specification v2.0

For any feedback, suggestion, or query, please revert back to support@elegantcharts.com

Copyright(c)
Elegant Microweb Technologies Pvt. Ltd.
www.elegantmicroweb.com
www.elegantjcharts.com
All Rights Reserved.