Feature
|
Description
|
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.
|
Style-based
|
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.
|
Watermarks
|
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.
|