On Fri, 9 Dec 2022 08:06:43 GMT, Prasanta Sadhukhan <[email protected]>
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.
You can install the `UncaughtExceptionHandler` on EDT to catch that exception:
public static void main(String[] args) throws Exception {
EventQueue.invokeAndWait(
() -> Thread.currentThread().setUncaughtExceptionHandler(
(t, e) -> System.out.println("Error?")));
-------------
PR: https://git.openjdk.org/jdk/pull/11605