RFR: 8378297: Remove AppContext from several Swing component and related classes [v3]

Alexander Zvegintsev azvegint at openjdk.org
Wed Feb 25 17:13:21 UTC 2026


On Wed, 25 Feb 2026 11:06:02 GMT, Phil Race <prr at openjdk.org> wrote:

>> Remove AppContext usage from several Swing classes that use it via  Swing utility (still used by other cases so can't remove that yet).
>> 
>> One ToolTipManager test for the AppContext is removed.
>
> Phil Race has updated the pull request incrementally with one additional commit since the last revision:
> 
>   8378297

src/java.desktop/share/classes/javax/swing/DebugGraphics.java line 1495:

> 1493:       */
> 1494:     static DebugGraphicsInfo info() {
> 1495:         synchronized (DebugGraphicsInfo.class) {

I suppose the DCL pattern could be used here to avoid the `synchronized` block on subsequent calls.

Same applies to other files, like `PopupFactory`, `SwingUtilities`, `ToolTipManager`

src/java.desktop/share/classes/javax/swing/JPopupMenu.java line 156:

> 154:     private static final boolean DEBUG =   false;  // show bad params, misc.
> 155: 
> 156:     private static boolean defaultLWPopupEnabled = true;

It looks like you forgot to remove `defaultLWPopupEnabledKey`

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

PR Review Comment: https://git.openjdk.org/jdk/pull/29830#discussion_r2854257597
PR Review Comment: https://git.openjdk.org/jdk/pull/29830#discussion_r2854242377


More information about the client-libs-dev mailing list