2009-10-31 62 views
0

试图设置它,所以如果满足某些条件,然后将检查其中一个复选框。但是我不断收到一个nullpointerexception错误。NullPointerException当试图设置一个jcheckbox

代码..

 //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) at my.freelancebillingapp.InvoiceSelectionUI.access $ 100(InvoiceSelectionUI.java:17) at my.freelancebillingapp.InvoiceSelectionUI $ 2.mouseClicked(InvoiceSelectionUI.java:86) at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253) at java.awt.Component.processMouseEvent(Component.java:6266) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at 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) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574) at java.awt。 LightweightDispatcher.processMouseEvent(Container.java:4247) at jav a.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)

+1

你有没有尝试打印一些调试,看看什么是空?你所包含的哪一行代码是224行? – Nate 2009-10-31 00:31:18

回答

1

假设线InvoiceSelectionUI.java 224被包括在样品中,一个以下必须为空:

  • InvoiceUI
  • InvoiceUI.jCheckBox1
  • InvoiceUI.jCheckBox2
  • flatRateint(如果它是一个Integer,但如果它是int
+0

谢谢!想通了,我试图在初始化之前更改所选设置 - 移动代码,现在它工作正常! – Jason 2009-10-31 01:48:03

0

我觉得JCheckBox的[12]是InvoiceUI的静态字段你没有初始化。

0

我的第一本能是flatRateint可能是空的,但从名字我猜这是一个原始的int,这将排除。你的错误信息是关于鼠标点击的;所以我怀疑你的onclick()方法中的代码。我不是大师,但我发现错误经常发生在实际错误打印输出中提到的位置之前的两三行。也许类似

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

someObj从未初始化?

相关问题