Side of Software





Contact Us





Dated Collections


Marker Bar




Print Preview









API (javadocs)



Report Library Features

The report framework has the following features and capabilities:




In-place editing

The user can edit values directly in the report, making it unnecessary to have special forms or dialogs for data input. The report is the form! Any AWT or Swing component can be used to accomplish the editing.

Shot 1 Report with a combo box editor.
Shot 2 Report with a text field editor.


Each element of the report references an attribute set, which contains key-value pairs that describe the appearance. These attribute sets are completely separate from the content, making it easy to swap visualization themes in and out.

Shot 1 Report viewed as a gray grid.
Shot 2 Same report viewed with blue stripes.

Object-based, not text-based

You can work directly with the objects of your domain model. There is no need to convert to a text-based mark-up language like HTML or XML to view your report.

Custom rendering

You can use any AWT or Swing component to render an object. For example, you can render a list of values by drawing a bar chart or a Boolean value with a checkmark. If you do not specify a renderer, the object is converted to text.

Shot 1 Report with a chart renderer.
Shot 2 Report with a checkmark renderer.

Cell straddling

Unlike cells in Swing’s JTable, report cells can span multiple rows and columns.

Shot 1 Report with straddling cells.

Text wrapping

You can allow text to span multiple lines.

Shot 1 Report with wrapped text.

Auto-sizing of text

You can let the available space determine the font size.

Rotated text

You can rotate text by any angle.

Shot 1 A report with vertical column headings.

Forced capitalization

You can force text to appear in uppercase.

Integration with Print Preview

You can easily break your report into pages to print or to preview.

Shot 1 A print preview of a report.

Headers and footers

You can use any AWT or Swing component as the header or footer on printed pages.


You can use any AWT or Swing component as underlaid or overlaid watermarks on printed pages. The former is drawn on the page before the report is drawn, while the latter is drawn after the report is drawn.

Shot 1 A page showing a header, footer, and watermark.

Forced page breaks

You have fine-grained control of where page breaks occur.

Row stickiness

You can force rows or columns to stay together on a page.

Orphan / widow control

Orphan and widow values control the minimum number of rows appearing together on a page.

Output to pdf using iText

The iText library allows you to save your reports in pdf. Follow this example to get started.

Shot 1 A sample pdf output.

Gradient, transparent, and multi-colored borders, backgrounds, and grid lines

With the flexible Fill class, you can specify how to color lines and backgrounds.

Shot 1 Report with gradient coloring.

Flexible table styles

With the TableFormat attribute, you can easily change the appearance of your table.

Roll-over hints

You can provide the user with editing hints as the mouse passes over parts of the report.

Shot 1 An arrow indicating a drop-down edit.

Similarity to JTable and JTextPane.

You should find many resemblances to JTable and JTextPane, such as the use of renderers and attribute sets, thereby lessening the learning curve.

Custom selection models

You control what data is selectable. Implementations are included for selecting cells, rows, columns, or any combination of them.

Shot 1 Report with cells selected.
Shot 2 Report with rows selected.
Shot 3 Report with columns selected.

100% Java (cross-platform)

The library runs on any platform with Java 1.4.


 Want more features? Let us know.



Home  |  Contact Us  |  Privacy Policy


Copyright © 2016 Side of Software, a branch of Natavision. All rights reserved.