Eclipse中的AWT-EventQueue-0 NullPointerException

时间:2015-10-24 11:03:24

标签: java eclipse nullpointerexception actionevent awt-eventqueue

我很难找到导致此AWT-EventQueue-0 NullPointerException错误的原因。我已经将它缩小到这两种方法的某个地方。从我的阅读中我想,AWT与动作事件有关,所以我的猜测是在actionPerformed方法中,但你的猜测和我的一样好。这个问题肯定不是重复的,因为它对这段代码来说是完全独特的。

    private void produceProfileReport(int saveType) {
       OperationalProfileReportGeneratorFactory reportGeneratorFactory = SimpleOperationalProfileReportGeneratorFactory
            .getInstance();
    OperationalProfileReportGenerator reportGenerator = reportGeneratorFactory
            .newReportGenerator();

    //Saves to file
    if(saveType == 1 || saveType == 3){
        try {
            FileWriter writer = new FileWriter(fileName);
            writer.write(reportGenerator.generateReport(database));
            writer.flush();
            writer.close();
        } catch (IOException ioe) {
            display.displayMessage(UNABLE_TO_WRITE_PROFILE_REPORT_ERROR_MESSAGE
                    + fileName);
        } // try...catch (IOException)
    }
    //Saves to database
    else if(saveType == 2 || saveType == 3) {
        try {
            FileWriter writer = new FileWriter(fileName);
            //reportGenerator.generateReport(database)
            writer.write("WRITE TO DATABASE");
            writer.flush();
            writer.close();
        } catch (IOException ioe) {
            display.displayMessage(UNABLE_TO_WRITE_PROFILE_REPORT_ERROR_MESSAGE
                    + fileName);
        }
    }
}

这是第二种方法

 public String generateReport(OperationalProfileDatabase database) {

    synchronized (database) {
        if (database.getNumberOfOperationalProfiles() == 0) {
            return NO_PROFILES_RECEIVED_REPORT; 
        } else {
                    database.toSQL();
            return database.toString();
        } // if (database.getNumberOfOperationalProfiles() == 0)
    } // synchronized (database)

}

generateReport()

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at oplogger.server.reportgen.SimpleOperationalProfileReportGenerator.generateReport(SimpleOperationalProfileReportGenerator.java:49)
at oplogger.server.ui.AdministrationTerminal_GUI.produceProfileReport(AdministrationTerminal_GUI.java:130)
at oplogger.server.ui.AdministrationTerminal_GUI.actionPerformed(AdministrationTerminal_GUI.java:279)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

STACK TRACE

ViewGroup

0 个答案:

没有答案