2009-10-31 60 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從未初始化?

相關問題