0

我已经为学校做这个 Java 项目好几个星期了,几天前我完成了它。它是一个数据库管理员软件,旨在运行 Access 数据库,在本例中是我学校的数据库。在 Eclipse IDE 中一切正常,显示 0 个错误,0 个警告。然后,当我导出导出的文件时,我也没有收到任何错误,但是当我打开项目时,菜单的 6 个按钮中只有 2 个有效。菜单有 6 个按钮。5个与Access连接并显示不同的数据,其中只有一个起作用,另一个起作用的选项卡是退出按钮。因此,我在 cmd 中运行导出的程序以获得更精确的错误,然后弹出此日志。

C:\Users\IVAN>java -jar prueba.jar
consulta busar registro: SELECT * FROM StudentsAbsences ORDER BY Id;
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at javax.swing.ImageIcon.<init>(Unknown Source)
        at ModificarAlumno.getCancelar_btn(ModificarAlumno.java:199)
        at ModificarAlumno.getJContentPane(ModificarAlumno.java:385)
        at ModificarAlumno.initialize(ModificarAlumno.java:310)
        at ModificarAlumno.<init>(ModificarAlumno.java:298)
        at Menu$4.actionPerformed(Menu.java:127)
        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 Sour
ce)
        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$000(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 Sour
ce)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
        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 Sour
ce)
        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)
        at java.awt.EventDispatchThread.run(Unknown Source)

我是 stackoverflow 的新手,真的从未使用过这个问答网页,所以我不确定我是否必须发布其他内容。我必须在星期二交上工作项目,所以我很着急。任何帮助表示赞赏,如果您需要有关该项目的更多信息,请告诉我,我会尽快发布。非常感谢。

4

2 回答 2

1

看起来下面的代码正在抛出 NullPointerException。

    at javax.swing.ImageIcon.<init>(Unknown Source)
    at ModificarAlumno.getCancelar_btn(ModificarAlumno.java:199)

这意味着在 ModificarAlumno.getCancelar_btn() 中,您正在构建一个新的 ImageIcon,并且在其构造函数中抛出异常。可能是导出后图像没有正确加载吗?如果这没有帮助,请发布其他代码。

于 2012-07-09T08:23:30.737 回答
0

如果程序在 Eclipse 内部工作但不在外部工作,请检查两件事:

  1. 在您的代码中查找您在文件系统上硬编码图像和其他文件等位置的位置。在另一台计算机上,这些位置可能会改变。

  2. 导出 jar 默认只导出 java 类。如果您有作为程序一部分的非 java 文件,请确保您配置导出和构建向导以导出/构建这些文件。

于 2012-07-09T12:13:15.397 回答