JDK-5086872 : Refactor Swing's painting code to be more pluggable
  • Type: Enhancement
  • Component: client-libs
  • Sub-Component: javax.swing
  • Affected Version: 1.3.0,1.4.0,1.4.2_06,5.0,6
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS:
    solaris_7,windows_98,windows_2000,windows_xp solaris_7,windows_98,windows_2000,windows_xp
  • CPU: x86,sparc
  • Submitted: 2004-08-13
  • Updated: 2004-10-13
  • Resolved: 2004-09-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.
JDK 6
6 betaFixed
Related Reports
Duplicate :  
Duplicate :  
Duplicate :  
Relates :  
Description
There are a couple of proposals on the table for Mustang that all require refactoring on Swing's painting code.  In particular JViewport and DefaultDesktopManager both do painting outside the normal flow of Swing's painting.  These need to be combined and made pluggable.

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: mustang FIXED IN: mustang INTEGRATED IN: mustang
14-09-2004

EVALUATION Here's what's going to be done: . JViewport has a lot of code duplicated with that in JComponent, it needs to be refactored to reuse what JComponent has. . RepaintManager will get two new package private methods: paint and copyArea. These methods will in turn call into a PaintManager. The default implementation of PaintManager will do what we've always done, subclasses can be developed for more sophisticated uses. . JComponent.paint will call into the PaintManager as will JViewport and DefaultDesktopManager where they now call copyArea on the Graphics. Numerous tests were done with the refactoring on various platforms. On my Linux box this showed an overall improvement of 9% on SwingMark (when tests are averaged). On my PC no improvements were shown. ###@###.### 2004-08-13
13-08-2004