NullPointerException al intentar establecer un jcheckbox
-
22-07-2019 - |
Pregunta
Intentando configurarlo de modo que si se cumple una determinada condición, se marcará una de las dos casillas de verificación. Sin embargo, sigo recibiendo un error nullpointerexception.
el código es ..
//Set the flat rate or hourly billing check boxes.
if(flatRateint > 0) {
InvoiceUI.jCheckBox1.setSelected(true);
}
else {
InvoiceUI.jCheckBox2.setSelected(true);
}
El error es
Excepción en el hilo "AWT-EventQueue-0" java.lang.NullPointerException en my.freelancebillingapp.InvoiceSelectionUI.jButton1MouseClicked (InvoiceSelectionUI.java:224) en my.freelancebillingapp.InvoiceSelectionUI.access $ 100 (InvoiceSelectionUI.java:17) en my.freelancebillingapp.InvoiceSelectionUI $ 2.mouseClicked (InvoiceSelectionUI.java:86) en java.awt.AWTEventMulticaster.mouseClicked (AWTEventMulticaster.java:253) en java.awt.Component.processMouseEvent (Component.java:6266) en javax.swing.JComponent.processMouseEvent (JComponent.java:3267) en java.awt.Component.processEvent (Component.java:6028) en java.awt.Container.processEvent (Container.java:2041) en java.awt.Component.dispatchEventImpl (Component.java:4630) en java.awt.Container.dispatchEventImpl (Container.java:2099) en java.awt.Component.dispatchEvent (Component.java:4460) en java.awt.LightweightDispatcher.retargetMouseEvent (Container.java:4574) en java.awt.LightweightDispatcher.processMouseEvent (Container.java:4247) en java.awt.LightweightDispatcher.dispatchEvent (Container.java:4168) en java.awt.Container.dispatchEventImpl (Container.java:2085) en java.awt.Window.dispatchEventImpl (Window.java:2475) en java.awt.Component.dispatchEvent (Component.java:4460) en java.awt.EventQueue.dispatchEvent (EventQueue.java:599) en java.awt.EventDispatchThread.pumpOneEventForFilters (EventDispatchThread.java:269) en java.awt.EventDispatchThread.pumpEventsForFilter (EventDispatchThread.java:184) en java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:174) en java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:169) en java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:161) en java.awt.EventDispatchThread.run (EventDispatchThread.java:122)
Solución
Suponiendo que la línea 224 de InvoiceSelectionUI.java está incluida en su muestra, uno de los siguientes debe ser nulo:
InvoiceUI
InvoiceUI.jCheckBox1
InvoiceUI.jCheckBox2
-
flatRateint
(si es unInteger
, pero no si es unint
)
Otros consejos
Creo que jcheckBox [12] son ??campos estáticos de InvoiceUI que no inicializó.
Mi primer instinto es que flatRateint
podría ser nulo, pero por el nombre supongo que es un primitivo int
, lo que descartaría eso. Su mensaje de error es sobre los clics del mouse; así que sospecho código en su método onclick ()
. No soy un gurú, pero encuentro que los errores a menudo ocurren dos o tres líneas antes de la ubicación mencionada en la impresión de error real. Tal vez algo como
if(someObj.someMethod() == foo)
flatRateint = 5;
else
flatRateint = 8;
¿ y someObj
nunca se inicializaron?