RFR: 7169951: SwingSet2 throws NullPointerException with Nimbus L&F
Prasanta Sadhukhan
psadhukhan at openjdk.org
Fri Jan 13 04:41:42 UTC 2023
It is observed that if SwingSet2 is run in Nimbus L&F and
we drag the icon tool bar (which is floatable) out of the GUI Window
and Once the tool bar is detached, click on "Look & Feel" menu option to change to any L&F (say Java L&F)
it causes NPE due to font being null when getFontMetrics() is called
In other L&F, it uses the tabPane's [font ](https://github.com/openjdk/jdk/blob/master/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java#L2177) whereas in Nimbus font is obtained from getStyle().getFont() which returns null when toolbar is detached from the main window.
The proposed fix is to get tabPane's font if the font passed is null alike other L&Fs.
No regression test is made as it can be verified with SwingSet2..
-------------
Commit messages:
- 7169951: SwingSet2 throws NullPointerException with Nimbus L&F
Changes: https://git.openjdk.org/jdk/pull/11984/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=11984&range=00
Issue: https://bugs.openjdk.org/browse/JDK-7169951
Stats: 3 lines in 1 file changed: 3 ins; 0 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/11984.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/11984/head:pull/11984
PR: https://git.openjdk.org/jdk/pull/11984
More information about the client-libs-dev
mailing list