JDK-6648911 : Nimbus L&F: Nimbus needs support for Java's 1.1 and 1.2 and later printing APIs
  • Type: Bug
  • Component: client-libs
  • Sub-Component: javax.swing
  • Affected Version: 6u10
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2008-01-10
  • Updated: 2011-03-05
  • Resolved: 2008-02-14
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
6u10 b12Fixed
For the older printing api "PrintJob" etc Nimbus needs to be able to paint to a Graphics object not a Graphics2D.

For the 1.2 and newer "PrinterJob" api Nimbus should not use image caching so that high-resolution vector graphics are printed.

Also with the new Scene Graph library it is using PrinterGraphics the same as a 1.2 or later print job and should have caching turned off so it renders high-resolution vector graphics.

EVALUATION For 1.1 API we need to render all graphics to buffered image and then paint so that we can render 2D graphics to a SWT Graphics. This has the limitation that it will be memory hungry and low quality but it is the best we can do and no one should be using the 1.1 API any more. For the 1.2 API and Scene Graph all we need to do is check if Graphics is instance of PrinterGraphics and disable image caching if so.