0

特定の条件が満たされると、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」での例外.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 で。 java.awt.EventDispatchThread の pumpEventsForFilter(EventDispatchThread.java:184)。java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) での pumpEventsForHierarchy(EventDispatchThread.java:174) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) での java.awt.EventDispatchThread.run(EventDispatchThread.java) :122)

4

3 に答える 3

1

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

  • InvoiceUI
  • InvoiceUI.jCheckBox1
  • InvoiceUI.jCheckBox2
  • flatRateint( の場合、 の場合Integerはそうではありませんint)
于 2009-10-31T01:17:51.543 に答える
0

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

于 2009-10-31T01:15:52.723 に答える
0

私の最初の本能はそれflatRateintがnullかもしれないということですが、名前から私はintそれを除外するプリミティブだと推測しています。エラー メッセージはマウス クリックに関するものです。onclick()だから私はあなたの方法のコードを疑っています。私は専門家ではありませんが、実際のエラー出力に記載されている場所の 2 ~ 3 行前にエラーが発生することがよくあります。多分何かのような

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

初期化されsomeObjたことはありませんか?

于 2009-10-31T01:25:30.660 に答える