RFR: 7124282: [macosx] Can't see table cell highlighter when the highlight border is the same color as the cell. [v5]
Harshitha Onkar
duke at openjdk.java.net
Mon Mar 28 19:17:43 UTC 2022
> 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
>
> The following HSB chart was used [Chart Link](https://codepen.io/HunorMarton/details/eWvewo), to determine the best hue, saturation offsets in deriveContrastFocusRing method.
>
> 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:
updated deriveContrastFocusRing method
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/7768/files
- new: https://git.openjdk.java.net/jdk/pull/7768/files/d32560ce..c71358dd
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7768&range=04
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7768&range=03-04
Stats: 70 lines in 2 files changed: 7 ins; 41 del; 22 mod
Patch: https://git.openjdk.java.net/jdk/pull/7768.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/7768/head:pull/7768
PR: https://git.openjdk.java.net/jdk/pull/7768
More information about the client-libs-dev
mailing list