gpt4 book ai didi

java - "AWT-EventQueue-0"NullpointerException 不一致错误信息

转载 作者:行者123 更新时间:2023-11-29 05:19:19 24 4
gpt4 key购买 nike

我在启动 Java 应用程序时收到此错误消息:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at engine.Display.GamePanel.paintComponent(GamePanel.java:102)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paintToOffscreen(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
at javax.swing.RepaintManager.paint(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
at java.awt.Container.paint(Unknown Source)
at java.awt.Window.paint(Unknown Source)
at javax.swing.RepaintManager$3.run(Unknown Source)
at javax.swing.RepaintManager$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.access$1100(Unknown Source)
at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(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.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)

该应用程序没有关闭,它让我可以正常运行它并且没有视觉错误等,但我有时在启动该应用程序时仍然会收到此错误消息。

它指向我的唯一代码是我的 GamePanel 类中的第 102 行,这是我的 paintComponent 方法:

    @Override
public void paintComponent(Graphics g){
super.paintComponent(g);
//g.drawImage(test, picX, picY, picSizeX, picSizeY, null);
mao.Draw(picX, picY, g);
}

在 mao.Draw 里面我们有这个:

    public void Draw(int x, int y, Graphics g){
Graphics2D g2d = (Graphics2D) g;
g2d.drawImage(characterImage, x, y, null);
g2d.drawRect(x, y, getWidth(), getHeight());
}

我已经解决了这个问题,但我似乎找不到错误。

最佳答案

错误是在 GamePanel.java 的第 102 行引起的,我认为是

  mao.Draw(picX, picY, g);

因为mao还没有被初始化,也就是在方法被调用的时候有值null。可能您的应用程序未完全初始化,但 GamePanel 已显示。

您可以执行以下操作来检查是否是这种情况:

if (mao != null) {
mao.Draw(picX, picY, g);
}

关于java - "AWT-EventQueue-0"NullpointerException 不一致错误信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25424493/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com