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

Reply via email to