On Wed, 25 May 2022 23:40:59 GMT, Harshitha Onkar <hon...@openjdk.org> wrote:
> With the proposed fix, JList's focus ring color follows accent color changes. > Previously the focus ring for JList was not prominently visible and did not > follow accent color changes. > > While investing a similar issue related to JTable > (https://github.com/openjdk/jdk/pull/7768#discussion_r839813517), it was > observed that List.focusCellHighlightBorder was using the cellFocusRing color > as well. This PR extends the focus ring accent color changes to JLists. > > Related issues: > [JDK-7124282](https://bugs.openjdk.java.net/browse/JDK-7124282) , > [JDK-8261243](https://bugs.openjdk.java.net/browse/JDK-8261243) > > #### Summary of changes > > - focusCellHighlightBorder in `AquaLookAndFeel` changed which is used for > cell border for lists and tables > - code related to on-the-fly focus ring color refactored into a separate > method (`changeFocusRingColor()`) for re-usability > - `changeFocusRingColor()` called when PropertyChangeEvent == > FRAME_ACTIVE_PROPERTY and the frame gains focus, instead of calling in > individual `swapSelectionColors` in `AquaFocusHandler.java` > - Common test added - `CellFocusRingTest`, which tests for both cases - > Tables & Lists. > > **Before and After screenshots of JList** _(Screenshots from SwingSet2 demo)_ > >  test/jdk/javax/swing/JTable/CellFocusRingTest.java line 85: > 83: } > 84: > 85: if (UIManager.getDefaults().get("CellFocus.color") != null if (UIManager.getDefaults().get("CellFocus.color") != null && UIManager.getDefaults().get("CellFocus.color") instanceof Color) can be changed into if (UIManager.getDefaults().get("CellFocus.color") instanceof Color) Since if the object is null then `instanceof` returns false. ------------- PR: https://git.openjdk.java.net/jdk/pull/8896