United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6598353 Nimbus L&F : JScrollBar buttons incorrect
JDK-6598353 : Nimbus L&F : JScrollBar buttons incorrect

Details
Type:
Bug
Submit Date:
2007-08-28
Status:
Closed
Updated Date:
2011-02-16
Project Name:
JDK
Resolved Date:
2007-09-18
Component:
client-libs
OS:
generic
Sub-Component:
javax.swing
CPU:
generic
Priority:
P2
Resolution:
Fixed
Affected Versions:
6u4,6u5
Fixed Versions:
6u10 (b04)

Related Reports
Duplicate:

Sub Tasks

Description
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.

                                    

Comments
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.
                                     
2007-08-30
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.
                                     
2007-08-31



Hardware and Software, Engineered to Work Together