NullPointerException lors de la tentative de définition d'une jcheckbox
-
22-07-2019 - |
Question
Essayez de le configurer pour que si une certaine condition soit remplie, une des deux cases à cocher sera cochée. Cependant, je continue à avoir une erreur nullpointerexception.
le code est ..
//Set the flat rate or hourly billing check boxes.
if(flatRateint > 0) {
InvoiceUI.jCheckBox1.setSelected(true);
}
else {
InvoiceUI.jCheckBox2.setSelected(true);
}
L'erreur est
Exception dans le fil de discussion "AWT-EventQueue-0" java.lang.NullPointerException sur my.freelbillingapp.InvoiceSelectionUI.jButton1MouseClicked (InvoiceSelectionUI.java:224) sur my.freelbillingapp.InvoiceSelectionUI.access 100 $ (InvoiceSelectionUI.java:17) à l'adresse my.freelbillingapp.InvoiceSelectionUI $ 2.mouseClicked (InvoiceSelectionUI.java:86) sur java.awt.AWTEventMulticaster.mouseClicked (AWTEventMulticaster.java:253) à l'adresse java.awt.Component.processMouseEvent (Component.java:6266) à l'adresse javax.swing.JComponent.processMouseEvent (JComponent.java:3267) à java.awt.Component.processEvent (Component.java:6028) sur java.awt.Container.processEvent (Container.java:2041) à l'adresse java.awt.Component.dispatchEventImpl (Component.java:4630) à l'adresse java.awt.Container.dispatchEventImpl (Container.java:2099) à l'adresse java.awt.Component.dispatchEvent (Component.java:4460) à java.awt.LightweightDispatcher.retargetMouseEvent (Container.java:4574) à l'adresse java.awt.LightweightDispatcher.processMouseEvent (Container.java:4247) à l'adresse java.awt.LightweightDispatcher.dispatchEvent (Container.java:4168) à l'adresse java.awt.Container.dispatchEventImpl (Container.java:2085) à l'adresse java.awt.Window.dispatchEventImpl (Window.java:2475) à l'adresse java.awt.Component.dispatchEvent (Component.java:4460) à l'adresse java.awt.EventQueue.dispatchEvent (EventQueue.java:599) sur java.awt.EventDispatchThread.pumpOneEventForFilters (EventDispatchThread.java:269) à l'adresse java.awt.EventDispatchThread.pumpEventsForFilter (EventDispatchThread.java:184) sur java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:174) sur java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:169) à java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:161) à l'adresse java.awt.EventDispatchThread.run (EventDispatchThread.java:122)
La solution
En supposant que la ligne 224 d’InvoiceSelectionUI.java soit incluse dans votre exemple, l’un des éléments suivants doit être null:
-
InvoiceUI
-
InvoiceUI.jCheckBox1
-
InvoiceUI.jCheckBox2
-
flatRateint
(s'il s'agit d'unentier
, mais pas s'il s'agit d'unint
)
Autres conseils
Je pense que jcheckBox [12] sont des champs statiques d'InvoiceUI que vous n'avez pas initialisés.
Mon premier réflexe est que flatRateint
peut être nul, mais d'après son nom, il s'agit d'une primitive int
, qui l'exclurait. Votre message d'erreur concerne les clics de souris. donc je soupçonne du code dans votre méthode onclick ()
. Je ne suis pas un gourou, mais j’aperçois que les erreurs se produisent souvent deux ou trois lignes avant l’emplacement mentionné dans l’impression d’erreur réelle. Peut-être quelque chose comme
if(someObj.someMethod() == foo)
flatRateint = 5;
else
flatRateint = 8;
et someObj
n'a jamais été initialisé?