Class Box

All Implemented Interfaces:
BorderProperties, BoxProperties, GeneralProperties, HyperlinkProperties, LineProperties, NodeParser, com.inet.report.ReferenceHolder, Serializable, Cloneable

public class Box extends AbstractLineElement implements BoxProperties, HyperlinkProperties
This class represents a box in the report. You can use boxes to enclose other visible elements in the report or to create some graphics. A box can inserted in a single section (use Section.addBox(int, int, int, int)method in class Section) and can span some sections (use method Section.addBox(int, int, int, int, int, Section)in class Section). In second case the last argument of the Section.addBox(int, int, int, int, int, Section) method is the section in that the box will end.
A box differs from borders of an object in the report. Boxes have freeform size and position, where borders has fixed size and are positioned around the bordered object. The border of a field will drawed around each coming value, where a box enclose all. A border cann't be enclose nothing, a box can placed everywhere in the report and don't need to enclose something. No border can span some sections.
If you want to change the color of the box, use methods Element.setForeColor(int) to change the color of the border and method ReportComponent.setBackColor(int) to change the background color of the box inheritated from Element.

This class is part of the RDC.
Since:
1.0
See Also:
  • Method Details

    • getCornerEllipseHeight

      public int getCornerEllipseHeight()
      Returns the value of the property 'corner ellipse height'. This property allows you to round off the edges of the box. The result depends on the form of the box; if it was a square the result becomes more and more a circle with using greater values; if it was a rectangle it becomes an ellipse.
      Specified by:
      getCornerEllipseHeight in interface BoxProperties
      Returns:
      The current value of the property 'corner ellipse height'.
      Since:
      3.0
    • setCornerEllipseHeight

      public void setCornerEllipseHeight(int newValue)
      Sets the value of the property 'corner ellipse height'. This property allows you to round off the edges of the box. The result depends on the form of the box; if it was a square the result becomes more and more a circle with using greater values; if it was a rectangle it becomes an ellipse.
      Specified by:
      setCornerEllipseHeight in interface BoxProperties
      Parameters:
      newValue - The new value of the property 'corner ellipse height'.
      Throws:
      IllegalArgumentException - if newValue is negative
      Since:
      3.0
    • getCornerEllipseWidth

      public int getCornerEllipseWidth()
      Returns the value of the property 'corner ellipse width'. This property allows you to round off the edges of the box. The result depends on the form of the box; if it was a square the result becomes more and more a circle with using greater values; if it was a rectangle it becomes an ellipse.
      Specified by:
      getCornerEllipseWidth in interface BoxProperties
      Returns:
      The current value of the property 'corner ellipse width'.
      Since:
      3.0
    • setCornerEllipseWidth

      public void setCornerEllipseWidth(int newValue)
      Sets the value of the property 'corner ellipse width'. This property allows you to round off the edges of the box. The result depends on the form of the box; if it was a square the result becomes more and more a circle with using greater values; if it was a rectangle it becomes an ellipse.
      Specified by:
      setCornerEllipseWidth in interface BoxProperties
      Parameters:
      newValue - The new value of the property 'corner ellipse width'.
      Throws:
      IllegalArgumentException - if newValue is negative
      Since:
      3.0
    • isCloseBorderOnPageBreak

      public boolean isCloseBorderOnPageBreak()
      Returns the value of the property 'close border on page break'. If this property is enabled and if the element has a border and will break over two pages, then the border of both parts will be closed (on bottom of the first, on top of the second part). If not the borders of both parts will be partial (on bottom of the first, on top of the second part are no borders).
      Specified by:
      isCloseBorderOnPageBreak in interface BorderProperties
      Specified by:
      isCloseBorderOnPageBreak in interface BoxProperties
      Overrides:
      isCloseBorderOnPageBreak in class Element
      Returns:
      FormulaField The value of the property 'close border on page break'.
    • setCloseBorderOnPageBreak

      public void setCloseBorderOnPageBreak(boolean newValue)
      Sets the value of the property 'close border on page break'. If this property is enabled and if the element has a border and will break over two pages, then the border of both parts will be closed (on bottom of the first, on top of the second part). If not the borders of both parts will be partial (on bottom of the first, on top of the second part are no borders).
      Specified by:
      setCloseBorderOnPageBreak in interface BorderProperties
      Specified by:
      setCloseBorderOnPageBreak in interface BoxProperties
      Overrides:
      setCloseBorderOnPageBreak in class Element
      Parameters:
      newValue - The new value of the property 'close border on page break'.
    • parseElement

      public NodeParser parseElement(com.inet.report.parser.XMLTag group, String tag, Attributes atts, Map<String,Object> parserMap) throws FatalParserException
      FOR INTERNAL USE ONLY FOR INTERNAL USE ONLY FOR INTERNAL USE ONLY FOR INTERNAL USE ONLY Internal method for reading report XML

      Parses an XML node with the given information, and returns either a sub-element which was created as a result, or null if no sub-element was created, i.e. the information was applied to the ReportComponent itself. Note that the parsing is highly tolerant, i.e. exceptions are intercepted and suppressed if at all possible.

      Specified by:
      parseElement in interface NodeParser
      Overrides:
      parseElement in class AbstractLineElement
      Parameters:
      group - XMLTag of the current node to be parsed, or null if there is no such current group. An XMLTag is a group of nodes bundled together, usually it is a Properties node such as CommonProperties, BorderProperties, etc.
      tag - The XMLTag to be parsed
      atts - The set of attributes in the current XMLTag
      parserMap - The map of current Parser.
      Returns:
      The NodeParser sub-element if one needed to be created, or null if none was created.
      Throws:
      FatalParserException - if an exception occurs which causes the report to not be able to be read: causes the abortion of the reading of the report.
    • getSubComponents

      public List<? extends ReportComponent> getSubComponents()
      Returns all ReportComponents that are descendants of this one. E.G. this will return all Element of a Section. But it's as well useful for CrossTabs or Text elements which have additional elements.
      Specified by:
      getSubComponents in class ReportComponent
      Returns:
      a list with all sub components which can be empty as well; will be null if the component has no descendants