0

在我的程序中的某个时刻,正在生成以下错误。知道这是什么吗?

  Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at javax.swing.plaf.basic.BasicSliderUI.calculateThumbLocation(Unknown Source)
        at javax.swing.plaf.basic.BasicSliderUI.calculateGeometry(Unknown Source)
        at javax.swing.plaf.basic.BasicSliderUI$Handler.componentResized(Unknown Source)
        at java.awt.Component.processComponentEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$000(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
4

1 回答 1

0

在将滑块设置为使用扩展 BasicSliderUI 的自定义 ui 时,我在初始化期间弹出了类似的间歇性 NPE。我通过将它们包装在一个 invokeLater 中来修复它们:

SwingUtilities.invokeLater(new Runnable(){
        @Override public void run() {
            slider.setUI(new CustomSliderUI(slider));
        }
    });
于 2011-08-18T23:01:48.023 回答