質問

特定の条件が満たされた場合、2つのチェックボックスのいずれかがチェックされるように設定しようとします。ただし、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)で

役に立ちましたか?

解決

InvoiceSelectionUI.javaの224行目がサンプルに含まれると仮定すると、次のいずれかがnullである必要があります。

  • InvoiceUI
  • InvoiceUI.jCheckBox1
  • InvoiceUI.jCheckBox2
  • flatRateint Integer の場合、 int の場合ではありません)

他のヒント

jcheckBox [12]は、初期化していないInvoiceUIの静的フィールドだと思います。

最初の本能は、 flatRateint がnullかもしれないということですが、名前からはそれが原始的な int であると推測します。エラーメッセージは、マウスクリックに関するものです。 onclick()メソッドのコードが疑われます。私は第一人者ではありませんが、実際のエラー出力に記載されている場所の2〜3行前にエラーが発生することがよくあります。たぶん次のようなもの

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

および someObj は初期化されませんでしたか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top