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