Java 设置本机外观时的NullPointerExcetion

Java 设置本机外观时的NullPointerExcetion,java,swing,user-interface,nullpointerexception,look-and-feel,Java,Swing,User Interface,Nullpointerexception,Look And Feel,因此,我试图让我的Java GUI看起来更好,因为我发现常规的GUI非常乏味: try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Exception e) { e.printStackTrace(); } Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at su

因此,我试图让我的Java GUI看起来更好,因为我发现常规的GUI非常乏味:

try {
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
    e.printStackTrace();
}
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at sun.font.FontDesignMetrics$MetricsKey.init(FontDesignMetrics.java:217)
    at sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:286)
    at sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1012)
    at javax.swing.JComponent.getFontMetrics(JComponent.java:1624)
    at sun.swing.MenuItemLayoutHelper.reset(MenuItemLayoutHelper.java:126)
    at javax.swing.plaf.synth.SynthMenuItemLayoutHelper.<init>(SynthMenuItemLayoutHelper.java:119)
    at javax.swing.plaf.synth.SynthGraphicsUtils.paint(SynthGraphicsUtils.java:498)
    at javax.swing.plaf.synth.SynthMenuItemUI.paint(SynthMenuItemUI.java:283)
    at javax.swing.plaf.synth.SynthMenuItemUI.update(SynthMenuItemUI.java:247)
    at javax.swing.JComponent.paintComponent(JComponent.java:778)
    at javax.swing.JComponent.paint(JComponent.java:1054)
    at javax.swing.JComponent.paintChildren(JComponent.java:887)
    at javax.swing.JComponent.paint(JComponent.java:1063)
    at javax.swing.JComponent.paintToOffscreen(JComponent.java:5219)
    at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1529)
    at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1452)
    at javax.swing.RepaintManager.paint(RepaintManager.java:1249)
    at javax.swing.JComponent._paintImmediately(JComponent.java:5167)
    at javax.swing.JComponent.paintImmediately(JComponent.java:4978)
    at javax.swing.RepaintManager$3.run(RepaintManager.java:808)
    at javax.swing.RepaintManager$3.run(RepaintManager.java:796)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769)
    at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718)
    at javax.swing.RepaintManager.access$1100(RepaintManager.java:62)
    at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1677)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:694)
    at java.awt.EventQueue$3.run(EventQueue.java:692)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at sun.font.FontDesignMetrics$MetricsKey.init(FontDesignMetrics.java:217)
    at sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:286)
    at sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1012)
    at javax.swing.JComponent.getFontMetrics(JComponent.java:1624)
    at sun.swing.MenuItemLayoutHelper.reset(MenuItemLayoutHelper.java:126)
    at javax.swing.plaf.synth.SynthMenuItemLayoutHelper.<init>(SynthMenuItemLayoutHelper.java:119)
    at javax.swing.plaf.synth.SynthGraphicsUtils.paint(SynthGraphicsUtils.java:498)
    at javax.swing.plaf.synth.SynthMenuItemUI.paint(SynthMenuItemUI.java:283)
    at javax.swing.plaf.synth.SynthMenuItemUI.update(SynthMenuItemUI.java:247)
    at javax.swing.JComponent.paintComponent(JComponent.java:778)
    at javax.swing.JComponent.paint(JComponent.java:1054)
    at javax.swing.JComponent.paintChildren(JComponent.java:887)
    at javax.swing.JComponent.paint(JComponent.java:1063)
    at javax.swing.JComponent.paintToOffscreen(JComponent.java:5219)
    at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1529)
    at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1452)
    at javax.swing.RepaintManager.paint(RepaintManager.java:1249)
    at javax.swing.JComponent._paintImmediately(JComponent.java:5167)
    at javax.swing.JComponent.paintImmediately(JComponent.java:4978)
    at javax.swing.RepaintManager$3.run(RepaintManager.java:808)
    at javax.swing.RepaintManager$3.run(RepaintManager.java:796)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769)
    at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718)
    at javax.swing.RepaintManager.access$1100(RepaintManager.java:62)
    at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1677)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:694)
    at java.awt.EventQueue$3.run(EventQueue.java:692)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
但在我运行它的第二次,我得到了以下错误:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at sun.font.FontDesignMetrics$MetricsKey.init(FontDesignMetrics.java:217)
    at sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:286)
    at sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1012)
    at javax.swing.JComponent.getFontMetrics(JComponent.java:1624)
    at sun.swing.MenuItemLayoutHelper.reset(MenuItemLayoutHelper.java:126)
    at javax.swing.plaf.synth.SynthMenuItemLayoutHelper.<init>(SynthMenuItemLayoutHelper.java:119)
    at javax.swing.plaf.synth.SynthGraphicsUtils.paint(SynthGraphicsUtils.java:498)
    at javax.swing.plaf.synth.SynthMenuItemUI.paint(SynthMenuItemUI.java:283)
    at javax.swing.plaf.synth.SynthMenuItemUI.update(SynthMenuItemUI.java:247)
    at javax.swing.JComponent.paintComponent(JComponent.java:778)
    at javax.swing.JComponent.paint(JComponent.java:1054)
    at javax.swing.JComponent.paintChildren(JComponent.java:887)
    at javax.swing.JComponent.paint(JComponent.java:1063)
    at javax.swing.JComponent.paintToOffscreen(JComponent.java:5219)
    at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1529)
    at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1452)
    at javax.swing.RepaintManager.paint(RepaintManager.java:1249)
    at javax.swing.JComponent._paintImmediately(JComponent.java:5167)
    at javax.swing.JComponent.paintImmediately(JComponent.java:4978)
    at javax.swing.RepaintManager$3.run(RepaintManager.java:808)
    at javax.swing.RepaintManager$3.run(RepaintManager.java:796)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769)
    at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718)
    at javax.swing.RepaintManager.access$1100(RepaintManager.java:62)
    at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1677)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:694)
    at java.awt.EventQueue$3.run(EventQueue.java:692)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at sun.font.FontDesignMetrics$MetricsKey.init(FontDesignMetrics.java:217)
    at sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:286)
    at sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1012)
    at javax.swing.JComponent.getFontMetrics(JComponent.java:1624)
    at sun.swing.MenuItemLayoutHelper.reset(MenuItemLayoutHelper.java:126)
    at javax.swing.plaf.synth.SynthMenuItemLayoutHelper.<init>(SynthMenuItemLayoutHelper.java:119)
    at javax.swing.plaf.synth.SynthGraphicsUtils.paint(SynthGraphicsUtils.java:498)
    at javax.swing.plaf.synth.SynthMenuItemUI.paint(SynthMenuItemUI.java:283)
    at javax.swing.plaf.synth.SynthMenuItemUI.update(SynthMenuItemUI.java:247)
    at javax.swing.JComponent.paintComponent(JComponent.java:778)
    at javax.swing.JComponent.paint(JComponent.java:1054)
    at javax.swing.JComponent.paintChildren(JComponent.java:887)
    at javax.swing.JComponent.paint(JComponent.java:1063)
    at javax.swing.JComponent.paintToOffscreen(JComponent.java:5219)
    at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1529)
    at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1452)
    at javax.swing.RepaintManager.paint(RepaintManager.java:1249)
    at javax.swing.JComponent._paintImmediately(JComponent.java:5167)
    at javax.swing.JComponent.paintImmediately(JComponent.java:4978)
    at javax.swing.RepaintManager$3.run(RepaintManager.java:808)
    at javax.swing.RepaintManager$3.run(RepaintManager.java:796)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769)
    at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718)
    at javax.swing.RepaintManager.access$1100(RepaintManager.java:62)
    at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1677)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:694)
    at java.awt.EventQueue$3.run(EventQueue.java:692)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
线程“AWT-EventQueue-0”java.lang.NullPointerException中的异常 位于sun.font.FontDesignMetrics$MetricsKey.init(FontDesignMetrics.java:217) 位于sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:286) 位于sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1012) 位于javax.swing.JComponent.getFontMetrics(JComponent.java:1624) 位于sun.swing.MenuItemLayoutHelper.reset(MenuItemLayoutHelper.java:126) 位于javax.swing.plaf.synth.SynthMenuItemLayoutHelper。(SynthMenuItemLayoutHelper.java:119) 位于javax.swing.plaf.synth.SynthGraphicsUtils.paint(SynthGraphicsUtils.java:498) 位于javax.swing.plaf.synth.SynthMenuItemUI.paint(SynthMenuItemUI.java:283) 位于javax.swing.plaf.synth.SynthMenuItemUI.update(SynthMenuItemUI.java:247) 位于javax.swing.JComponent.paintComponent(JComponent.java:778) 位于javax.swing.JComponent.paint(JComponent.java:1054) 位于javax.swing.JComponent.paintChildren(JComponent.java:887) 位于javax.swing.JComponent.paint(JComponent.java:1063) 位于javax.swing.JComponent.paintooffscreen(JComponent.java:5219) 在javax.swing.repaitmanager$PaintManager.paintDoubleBuffered处(repaitmanager.java:1529) 在javax.swing.repaitmanager$PaintManager.paint(repaitmanager.java:1452) 位于javax.swing.repainmanager.paint(repainmanager.java:1249) javax.swing.JComponent.\u(JComponent.java:5167) 位于javax.swing.JComponent.paintInstance(JComponent.java:4978) 在javax.swing.repaitmanager$3.run(repaitmanager.java:808) 在javax.swing.repaitmanager$3.run(repaitmanager.java:796) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) 位于javax.swing.repainmanager.paintDirtyRegions(repainmanager.java:796) 位于javax.swing.repainmanager.paintDirtyRegions(repainmanager.java:769) 位于javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718) 在javax.swing.repaitmanager.access$1100(repaitmanager.java:62) 在javax.swing.repaitmanager$ProcessingRunnable.run(repaitmanager.java:1677) 在java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)中 位于java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733) 在java.awt.EventQueue.access$200(EventQueue.java:103) 位于java.awt.EventQueue$3.run(EventQueue.java:694) 在java.awt.EventQueue$3.run(EventQueue.java:692) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) 位于java.awt.EventQueue.dispatchEvent(EventQueue.java:703) 位于java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) 在java.awt.EventDispatchThread.PumpeEventsforFilter(EventDispatchThread.java:161) 位于java.awt.EventDispatchThread.PumpeEventsforHierarchy(EventDispatchThread.java:150) 位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) 位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) 在java.awt.EventDispatchThread.run(EventDispatchThread.java:91) 线程“AWT-EventQueue-0”java.lang.NullPointerException中出现异常 位于sun.font.FontDesignMetrics$MetricsKey.init(FontDesignMetrics.java:217) 位于sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:286) 位于sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1012) 位于javax.swing.JComponent.getFontMetrics(JComponent.java:1624) 位于sun.swing.MenuItemLayoutHelper.reset(MenuItemLayoutHelper.java:126) 位于javax.swing.plaf.synth.SynthMenuItemLayoutHelper。(SynthMenuItemLayoutHelper.java:119) 位于javax.swing.plaf.synth.SynthGraphicsUtils.paint(SynthGraphicsUtils.java:498) 位于javax.swing.plaf.synth.SynthMenuItemUI.paint(SynthMenuItemUI.java:283) 位于javax.swing.plaf.synth.SynthMenuItemUI.update(SynthMenuItemUI.java:247) 位于javax.swing.JComponent.paintComponent(JComponent.java:778) 位于javax.swing.JComponent.paint(JComponent.java:1054) 位于javax.swing.JComponent.paintChildren(JComponent.java:887) 位于javax.swing.JComponent.paint(JComponent.java:1063) 位于javax.swing.JComponent.paintooffscreen(JComponent.java:5219) 在javax.swing.repaitmanager$PaintManager.paintDoubleBuffered处(repaitmanager.java:1529) 在javax.swing.repaitmanager$PaintManager.paint(repaitmanager.java:1452) 位于javax.swing.repainmanager.paint(repainmanager.java:1249) javax.swing.JComponent.\u(JComponent.java:5167) 位于javax.swing.JComponent.paintInstance(JComponent.java:4978) 在javax.swing.repaitmanager$3.run(repaitmanager.java:808) 在javax.swing.repaitmanager$3.run(repaitmanager.java:796) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) 位于javax.swing.repainmanager.paintDirtyRegions(repainmanager.java:796) 位于javax.swing.repainmanager.paintDirtyRegions(repainmanager.java:769) 位于javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718) 在javax.swing.repaitmanager.access$1100(repaitmanager.java:62) 在javax.swing.repaitmanager$ProcessingRunnable.run(repaitmanager.java:1677) 在java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)中 位于java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733) 在java.awt.EventQueue.access$200(EventQueue.java:103) 位于java.awt.EventQueue$3.run(EventQueue.java:694) 在java.awt.EventQueue$3.run(EventQueue.java:692) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) 在java.awt.Event