JDK-6604494 : Nimbus L&F: Improve API and make certain API public for 3rd party component implementations
  • Type: Bug
  • Component: client-libs
  • Sub-Component: javax.swing
  • Affected Version: 6u5
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2007-09-13
  • Updated: 2011-02-16
  • Resolved: 2007-11-07
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 b07Fixed
Ammend and modify the Nimbus API as necessary to allow third party components to implement UIDelegates for Nimbus. In particular, ensure that they can: register delegates, use Painters, use custom states, use AbstractRegionPainter.

None of this API is "public" in the sense that it is supported, but it is "public" in the java sense.

EVALUATION Most of the API was usable for 3rd party components. I've been building a few SwingX implementations to test the API. It works really well overall. One problem I ran into was that I could not register custom states, or work with custom states in any way, since State was package private. I have made it public (in the java sense, not the JCP "API" sense). With this work we should work well for custom 3rd party components. We'll need more feedback from component vendors as we go down the stretch to confirm this.