RFR: 7124282: [macosx] Can't see table cell highlighter when the highlight border is the same color as the cell. [v2]

Harshitha Onkar duke at openjdk.java.net
Thu Mar 10 19:18:41 UTC 2022


On Thu, 10 Mar 2022 18:23:18 GMT, Harshitha Onkar <duke at openjdk.java.net> wrote:

>> Previously while tabbing through the JTable cell, the cell highlighter/focus ring was not visible against the selection background. 
>> 
>> Changes are made to Aqua LAF to derive a brighter focus ring color by changing hue, saturation and brightness of selection background color so that it is visible while tabbing through `JTable` cells. A new method is added for this purpose which takes in `selectionBackground` color, does the hue, saturation and brightness manipulation and returns a new focus ring color. There are edge cases where the HSB transformation does not yield the right focus ring color, for these cases a default color is returned that is different and can be seen against the `selectionBackground`.
>> 
>> **Edge Cases**
>> **Selection Background**     -----       **Returned Focus Ring Color**
>> - White/ Black                        ----->          Gray
>> 
>> - Shade of Gray 
>> towards white (r=g=b >= 128)  ----->      Black
>> 
>> - Shade of Gray 
>> towards Black (r=g=b < 128)    ------>     White
>> 
>> A test case is added to compare the RGB difference between the original focus ring color & selection background and the brighter focus ring color & selection background.
>> 
>> PS: The native L&F (Mac OS) and Swing L&F for JTable cell tabbing differs (on native tables the cell background turns white on focus with a cell focus ring). Since the background for Swing tables can be set by users and also overridden by subclassing `DefaultTableCellRenderer`, and to adhere to current implementation of Swing, the cell background changes are not incorporated. Only the Focus Ring/ Cell Highlighter is made more prominent against the selection background.
>
> Harshitha Onkar has updated the pull request incrementally with one additional commit since the last revision:
> 
>   formatted line lengths, added method-level comments

Before and After images of cell focus ring changes on SwingSet2. (cell focus on first cell)

![image](https://user-images.githubusercontent.com/95945681/157737713-91694dc9-6bf4-4d3c-8948-59896e952e36.png)

-------------

PR: https://git.openjdk.java.net/jdk/pull/7768



More information about the client-libs-dev mailing list