@Override public AxisState draw(Graphics2D g2,double cursor,Rectangle2D plotArea,Rectangle2D dataArea,RectangleEdge edge,PlotRenderingInfo plotState){
  AxisState state;
  if (!isVisible()) {
    state=new AxisState(cursor);
    List ticks=refreshTicks(g2,state,dataArea,edge);
    state.setTicks(ticks);
    return state;
  }
  state=drawTickMarksAndLabels(g2,cursor,plotArea,dataArea,edge);
  if (getAttributedLabel() != null) {
    state=drawAttributedLabel(getAttributedLabel(),g2,plotArea,dataArea,edge,state);
  }
 else {
    state=drawLabel(getLabel(),g2,plotArea,dataArea,edge,state);
  }
  createAndAddEntity(cursor,state,dataArea,edge,plotState);
  return state;
}

@ Override public AxisState draw ( Graphics2D g2 , double cursor , Rectangle2D plotArea , Rectangle2D dataArea , RectangleEdge edge , PlotRenderingInfo plotState ) { AxisState state ; if ( ! isVisible ( ) ) { state = new AxisState ( cursor ) ; List ticks = refreshTicks ( g2 , state , dataArea , edge ) ; state . setTicks ( ticks ) ; return state ; } state = drawTickMarksAndLabels ( g2 , cursor , plotArea , dataArea , edge ) ; if ( getAttributedLabel ( ) != null ) { state = drawAttributedLabel ( getAttributedLabel ( ) , g2 , plotArea , dataArea , edge , state ) ; } else { state = drawLabel ( getLabel ( ) , g2 , plotArea , dataArea , edge , state ) ; } createAndAddEntity ( cursor , state , dataArea , edge , plotState ) ; return state ; }
draws the axis on a java 2d graphics device ( such as the screen or a printer ) .
