JDK-5033822 : Synth ScrollBar paintTrack() dosn't support orientation
  • Type: Enhancement
  • Component: client-libs
  • Sub-Component: javax.swing
  • Affected Version: 5.0
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2004-04-19
  • Updated: 2017-05-16
  • Resolved: 2005-09-20
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 b53Fixed
Description
Name: rmT116609			Date: 04/19/2004


FULL PRODUCT VERSION :
java version "1.5.0-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-beta-b32c)
Java HotSpot(TM) Client VM (build 1.5.0-beta-b32c, mixed mode)

ADDITIONAL OS VERSION INFORMATION :
Windows XP, but generic issue

A DESCRIPTION OF THE PROBLEM :
if you look at the source for the paintThumb() and paintTrack() methods of SynthScrollBarUI it is easy to see that the track dosn't  support orientation . Orientation  is needed here  by most  3D effect looks.

Copied from SynthScrollBarUI source:

    protected void paintTrack(SynthContext ss, Graphics g,
                              Rectangle trackBounds) {
        SynthLookAndFeel.updateSubregion(ss, g, trackBounds);
        ss.getPainter().paintScrollBarTrackBackground(ss, g, trackBounds.x,
                        trackBounds.y, trackBounds.width, trackBounds.height);
        ss.getPainter().paintScrollBarTrackBorder(ss, g, trackBounds.x,
                        trackBounds.y, trackBounds.width, trackBounds.height);
    }

    protected void paintThumb(SynthContext ss, Graphics g,
                              Rectangle thumbBounds) {
        int orientation = scrollbar.getOrientation();
        ss.getPainter().paintScrollBarThumbBackground(ss, g, thumbBounds.x,
                        thumbBounds.y, thumbBounds.width, thumbBounds.height,
                        orientation);
        ss.getPainter().paintScrollBarThumbBorder(ss, g, thumbBounds.x,
                        thumbBounds.y, thumbBounds.width, thumbBounds.height,
                        orientation);
    }


(Incident Review ID: 254884) 
======================================================================

Comments
EVALUATION This RFE has already been taken care of internally. Some other components also need to support orientation (sliders, tabbed pane, etc.)
17-08-2005