JDK-6598353 : Nimbus L&F : JScrollBar buttons incorrect
  • Type: Bug
  • Component: client-libs
  • Sub-Component: javax.swing
  • Affected Version: 6u4,6u5
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2007-08-28
  • Updated: 2011-02-16
  • Resolved: 2007-09-18
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 b04Fixed
Related Reports
Duplicate :  
The scroll bar buttons of JScrollBar exhibit several bugs. First, the buttons/track and thumb are not overlapping as they should. Second, the up/down buttons behave incorrectly. The up button disappears when pressed while the down button always acts as if the track is being clicked. The left and right buttons also exhibit this incorrect behavior.

EVALUATION The overlapping isue and the left/right/down buttons being wrong were actually problems in SynthScrollBarUI, not in BasicScrollBarUI as originally evaluated. The problem of the scroll buttons disappearing (not painting) when pressed is actually either an issue in skin.laf, or in SynthButtonUI (depending on how you look at it). It is my opinion that Synth states should *always* include either ENABLED or DISABLED in the state list. SynthButtonUI does not. If pressed, it uses PRESSED, not PRESSED | ENABLED as I would have expected. skin.laf doesn't define a state for PRESSED, just for ENABLED and DISABLED. It probably should have a PRESSED state anyway, but this seems like a bug in synth as well.

EVALUATION The first two issues (thumb not overlapping with buttons, and down, left, and right buttons not acting correctly on press) are both related to the overlapping button implementation in BasicScrollBarUI. The other issue (pressed state not painting correctly) is a Synth/Nimbus issue.