RFR: 6603771: Nimbus L&F: Ctrl+F7 keybinding for Jinternal Frame throws a NPE. [v4]

Andrey Turbanov aturbanov at openjdk.org
Wed Dec 21 11:27:54 UTC 2022


On Wed, 14 Dec 2022 10:58:47 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:

>> In Swingset2 JInternalFrame demo, focusing on any internalframes and pressing Ctrl+F7 and then any of up/down/left/arrow key to move the internal frames results in NPE in NimbusL&F.
>> It is because `JComponent.processKeyBinding() `calls `SwingUtilities.notifyAction` which calls `BasicDesktopPaneUI.actionPerformed` where it gets `Desktop.minOnScreenInsets` property to get the Insets and then uses insets.top/bottom/left/right value to move the internalframe but this property is not defined for Nimbus so deferencing Insets object results in NPE.
>> 
>> Fix is added to create a 0 insets incase some L&F do not define` Desktop.minOnScreenInsets` property.
>> No regression test is added as it can be easily checked by SwingSet2 JInternalFrame demo.
>
> Prasanta Sadhukhan has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Test update

test/jdk/javax/swing/JInternalFrame/JInternalFrameTest.java line 118:

> 116:         JDesktopPane desktopPane = new JDesktopPane();
> 117: 
> 118:         iFrame =  new JInternalFrame("Test");

Suggestion:

        iFrame = new JInternalFrame("Test");

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

PR: https://git.openjdk.org/jdk/pull/11605



More information about the client-libs-dev mailing list