A "pure Java" solution is i-net Clear Reports (aka i-net Crystal-Clear).
- Supports Crystal Reports templates as well as any JDBC data source.
- Comes with a FREE visual report designer.
- Good price for what it does, especially in comparison to some of the "pricier" alternatives.
- The latest version includes a web-based configuration tool as well as an ad-hoc report creation tool.
- Has a .NET port (with extensive API)