【问题标题】:NullPointerException when trying to set a jcheckbox尝试设置 jcheckbox 时出现 NullPointerException
【发布时间】:2010-12-11 19:07:07
【问题描述】:

尝试设置它,以便如果满足某个条件,则将选中两个复选框之一。但是我不断收到 nullpointerexception 错误。

代码是..

        //Set the flat rate or hourly billing check boxes.
    if(flatRateint > 0) {
        InvoiceUI.jCheckBox1.setSelected(true);
    }
    else {
        InvoiceUI.jCheckBox2.setSelected(true);
    }

错误是

线程“AWT-EventQueue-0”中的异常 java.lang.NullPointerException 在 my.freelancebillingapp.InvoiceSelectionUI.jButton1MouseClicked(InvoiceSelectionUI.java:224) 在 my.freelancebillingapp.InvoiceSelectionUI.access$100(InvoiceSelectionUI.java:17) 在 my.freelancebillingapp.InvoiceSelectionUI$2.mouseClicked(InvoiceSelectionUI.java:86) 在 java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253) 在 java.awt.Component.processMouseEvent(Component.java:6266) 在 javax.swing.JComponent.processMouseEvent(JComponent.java:3267) 在 java.awt.Component.processEvent(Component.java:6028) 在 java.awt.Container.processEvent(Container.java:2041) 在 java.awt.Component.dispatchEventImpl(Component.java:4630) 在 java.awt.Container.dispatchEventImpl(Container.java:2099) 在 java.awt.Component.dispatchEvent(Component.java:4460) 在 java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574) 在 java.awt.LightweightDispatcher.processMouseEvent(Container.java:4247) 在 java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) 在 java.awt.Container.dispatchEventImpl(Container.java:2085) 在 java.awt.Window.dispatchEventImpl(Window.java:2475) 在 java.awt.Component.dispatchEvent(Component.java:4460) 在 java.awt.EventQueue.dispatchEvent(EventQueue.java:599) 在 java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) 在 java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) 在 java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:174) 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) 在 java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

【问题讨论】:

  • 您是否尝试打印一些调试以查看什么是空的?您包含的代码的哪一行是第 224 行?

标签: java nullpointerexception


【解决方案1】:

假设您的示例中包含 InvoiceSelectionUI.java 的第 224 行,则以下其中一项必须为空:

  • InvoiceUI
  • InvoiceUI.jCheckBox1
  • InvoiceUI.jCheckBox2
  • flatRateint(如果是Integer,但不是int

【讨论】:

  • 谢谢!发现我让它在初始化之前尝试更改所选设置 - 移动了代码,它现在可以正常工作了!
【解决方案2】:

我认为 jcheckBox[12] 是您未初始化的 InvoiceUI 的静态字段。

【讨论】:

    【解决方案3】:

    我的第一直觉是flatRateint 可能为空,但从名字我猜它是一个原始的int,这将排除这种情况。您的错误消息是关于鼠标点击的;所以我怀疑你的 onclick() 方法中的代码。我不是专家,但我发现错误经常出现在实际错误打印输出中提到的位置之前的两三行。也许像

    if(someObj.someMethod() == foo)
        flatRateint = 5;
    else
        flatRateint = 8;
    

    someObj 从未初始化?

    【讨论】:

      猜你喜欢
      • 2019-04-08
      • 2011-12-07
      • 2023-03-31
      • 2011-11-27
      • 1970-01-01
      • 2018-01-21
      • 1970-01-01
      • 2017-08-13
      • 1970-01-01
      相关资源
      最近更新 更多