这个问题在这里已有答案:

我知道这个异常被问到的频率,我已经阅读了很多关于这个问题的线索,但我仍然不知道为什么这个错误总是出现,当我删除'mf'变量时,它确实有效,但没有显示图片起来 .

代码 . 名称的游戏“AWT-EventQueue-0”java.lang.NullPointerException java.lang.NullPointerException(game.java:118) . 代码.MettigelsNightmare . (game.java:105) . (MettigelsNightmare.java) :14)at code.MettigelsNightmare $ 1.run(MettigelsNightmare.java:31)at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)at at java.awt.EventQueue.access $ 700(EventQueue.java:97)java.awt.EventQueue $ 3.run(EventQueue.java:709)java.awt.EventQueue $ 3.run(EventQueue.java:703)at java . java.security.ProtectionDomain上的security.AccessController.doPrivileged(本机方法)$ JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76),位于java.awt.EventDispatchThread.pumpOneEventForFilters的java.awt.EventQueue.dispatchEvent(EventQueue.java:726) EventDispatchThread.java:201)java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventD) ispatchThread.java:105)java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) )

这就是代码:包代码;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.Image;

import java.awt.Toolkit;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Random;

import javax.swing.ImageIcon;

import javax.swing.JPanel;

import javax.swing.Timer;

public class game extends JPanel implements ActionListener {

private static final long serialVersionUID = 1L;

private static int width = 1920;

private static int height = 1000;

private Image kopfR;

private Image kopfL;

private Image kopfO;

private Image kopfU;

private Image mann;

private Image frau;

private Image mf[];

private Image shootIMG_L;

private Image shootIMG_R;

private Image shootIMG_O;

private Image shootIMG_U;

private int tail_amount = 3;

private static int snake_width = 50;

private static int x;

private static int y;

private static int mY[] = new int[width * height / (snake_width * snake_width)];

private static int mX[] = new int[width * height / (snake_width * snake_width)];

private int timerspeed = 250;

private int points = 0;

private static int shootX;

private static int shootY;

public static int shootD = -50;

/*

* 0 = left 1 = right 2 = up 3 = down

*/

public static int direction;

public static int running;

public static Timer t;

public game() {

addKeyListener(new KeyBinds());

setPreferredSize(new Dimension(width, height));

setFocusable(true);

setBackground(Color.DARK_GRAY);

setVisible(true);

ImageIcon icon_mann = new ImageIcon("assets/mann.png");

ImageIcon icon_frau = new ImageIcon("assets/frau.png");

ImageIcon icon_headL = new ImageIcon("assets/spielerlinks.png");

ImageIcon icon_headR = new ImageIcon("assets/spielerrechts.png");

ImageIcon icon_headO = new ImageIcon("assets/spieleroben.png");

ImageIcon icon_headU = new ImageIcon("assets/spielerunten.png");

ImageIcon icon_shootL = new ImageIcon("assets/plinks.png");

ImageIcon icon_shootR = new ImageIcon("assets/prechts.png");

ImageIcon icon_shootO = new ImageIcon("assets/poben.png");

ImageIcon icon_shootU = new ImageIcon("assets/punten.png");

mann = icon_mann.getImage();

frau = icon_frau.getImage();

kopfL = icon_headL.getImage();

kopfR = icon_headR.getImage();

kopfO = icon_headO.getImage();

kopfU = icon_headU.getImage();

shootIMG_L = icon_shootL.getImage();

shootIMG_R = icon_shootR.getImage();

shootIMG_O = icon_shootO.getImage();

shootIMG_U = icon_shootU.getImage();

for (int i = 0; i < tail_amount; i++) {

x = 500 - i * snake_width;

y = 400;

}

running = 1;

t = new Timer(timerspeed, this);

t.start();

spawn_a_point();

}

private void spawn_a_point() {

if (mann != null) {

for (int i = 1; i < 30; i++) {

int r = new Random().nextInt(2) + 1;

if (r == 1) {

mf[i] = mann;

} else {

mf[i] = frau;

}

int random_x = (int) (Math.random() * 39);

mX[i] = random_x * snake_width;

int random_y = (int) (Math.random() * 19);

mY[i] = random_y * snake_width;

}

}

}

@Override

public void actionPerformed(ActionEvent e) {

if (running == 1) {

check_shoot();

check_death();

get_a_point();

move();

move_shoot();

}

repaint();

}

private void move_shoot() {

switch (shootD) {

case 0:

shootX -= snake_width;

break;

case 1:

shootX += snake_width;

break;

case 2:

shootY -= snake_width;

break;

case 3:

shootY += snake_width;

break;

default:

break;

}

}

static void shoot() {

shootX = x;

shootY = y;

switch (shootD) {

case 0:

shootX -= snake_width;

break;

case 1:

shootX += snake_width;

break;

case 2:

shootY -= snake_width;

break;

case 3:

shootY += snake_width;

break;

default:

break;

}

}

public void check_shoot() {

for (int i = 0; i < 30; i++) {

if (shootX == mX[i] && shootY == mY[i]) {

timerspeed -= 30;

points++;

}

}

}

private void move() {

/*

* 0 = left 1 = right 2 = up 3 = down

*/

switch (direction) {

case 0:

x -= snake_width;

break;

case 1:

x += snake_width;

break;

case 2:

y -= snake_width;

break;

case 3:

y += snake_width;

break;

default:

break;

}

}

private void check_death() {

if (y >= height || x >= width || y < 0 || x < 0) {

running = 0;

}

if (running == 0 || running == 2) {

t.stop();

}

}

private void get_a_point() {

for (int i = 0; i < 30; i++) {

if (x == mX[i] && y == mY[i]) {

timerspeed -= 30;

points++;

mX[i] = 5000;

}

}

}

@Override

public void paintComponent(Graphics g) {

super.paintComponent(g);

if (running == 1) {

if (shootD == 0) {

g.drawImage(shootIMG_L, shootX, shootY, this);

} else if (shootD == 1) {

g.drawImage(shootIMG_R, shootX, shootY, this);

} else if (shootD == 2) {

g.drawImage(shootIMG_O, shootX, shootY, this);

} else if (shootD == 3) {

g.drawImage(shootIMG_U, shootX, shootY, this);

}

for (int i = 0; i < 30; i++) {

g.drawImage(mf[i], mX[i], mY[i], this);

}

Font fa = new Font("Calibri", Font.BOLD, 50);

g.setColor(Color.GREEN);

g.setFont(fa);

g.drawString("" + points, 960, 50);

/*

* 0 = left; 1 = right; 2 = up; 3 = down;

*/

if (direction == 0) {

g.drawImage(kopfL, x, y, this);

} else if (direction == 1) {

g.drawImage(kopfR, x, y, this);

} else if (direction == 2) {

g.drawImage(kopfO, x, y, this);

} else if (direction == 3) {

g.drawImage(kopfU, x, y, this);

}

Toolkit.getDefaultToolkit().sync();

} else if (running == 0) {

Font f = new Font("Calibri", Font.BOLD, 40);

g.setColor(Color.RED);

g.setFont(f);

g.drawString("Du hast verloren!", 450, height / 2);

} else {

Font f = new Font("Calibri", Font.BOLD, 20);

g.setColor(Color.RED);

g.setFont(f);

g.drawString("Mettigels Nightmare ist pausiert!", 460, height / 2);

g.drawString("Mit ENTER kannst du weiterspielen", 433, height / 2 + 20);

}

}

}

错误 eventqueue.java_线程“AWT-EventQueue-0”中的异常java.lang.NullPointerException [duplicate]...相关推荐

  1. JAVA awt eventqueue_线程“AWT-EventQueue-1”中的异常java.lang.NullPointerException

    嗨,我收到错误 Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException at P6.itemSt ...

  2. java.线程池 线程数_如何在线程“ main”中修复异常java.lang.NoClassDefFoundError:Java中的org / slf4j / LoggerFactory...

    java.线程池 线程数 此错误表示您的代码或您在应用程序中使用的任何外部库都在使用SLF4J库 (一个开放源代码日志记录库),但无法找到所需的JAR文件,例如slf4j-api-1.7.2.jar因 ...

  3. 如何在线程“ main”中修复异常java.lang.NoClassDefFoundError:Java中的org / slf4j / LoggerFactory...

    此错误表示您的代码或您在应用程序中使用的任何外部库都在使用SLF4J库 (一个开放源代码日志记录库),但无法找到所需的JAR文件,例如slf4j-api-1.7.2.jar因此它是在线程" ...

  4. SpringBoot中运行测试:java.lang.NullPointerException

    问题展示: SpringBoot中运行测试类报:java.lang.NullPointerException 问题描述: 提示:这里描述项目中遇到的问题: 在SpingBoot中当我们在它原有的测试基 ...

  5. java xml出错,Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullPointerException...

    Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullPointerException解决办法: 利用Java操作X ...

  6. Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullPointerException

    转自:https://www.jb51.net/article/98644.htm Java xml出现错误 javax.xml.transform.TransformerException: jav ...

  7. 无法部署应用目录 [D:\Tomcat\apache-tomcat-9.0.44\webapps\ROOT]java.lang.IllegalStateException: 启动子级时出错

    起因是刚开始导入一个web项目,没有导入Tomcat的jar包,导致找不到javax.servlet.http 和 javax.servlet.jsp,看了下网上的建议,将Tomcat7.0\lib下 ...

  8. java怎么通过坐标定位控件_[已解决] 可以定位到控件, 但每次执行 click () 方法会报空指针错误 java.lang.NullPointerException...

    问题描述: 正常启动 appium 服务, 在 eclipse 中右键 Run as TestNG Test 之后, apk 可以正常安装并启动, 但是总会在 btn.click();处报错, 错误为 ...

  9. java.lang.NullPointerException错误的解决方案

    一.java.lang.NullPointerException出现的几种原因以及解决 java.lang.NullPointerException空指针异常是容易出现的问题,这个问题一般情况都是不细 ...

最新文章

  1. XtraBackup
  2. REVERSE-COMPETITION-HGAME2022-Week2
  3. u盘序列号读取工具_硬盘读写工具
  4. WSO2 WSF/CPP 网络服务开发例子1--HELLO
  5. mos管结电容等效模型_MOS管等效模型
  6. PythonTip(1)
  7. 【620】【信息管理学基础】【真题背诵】
  8. net idautomationhc39m条形码字体生成条形码
  9. c语言abs作用是什么意思,c语言中函数abs和fabs有什么区别?
  10. Delphi Thread 线程2
  11. mysql用sql新增字段
  12. access随系统启动的宏,Access创建宏
  13. 基于运营商的室内定位技术应用及探究--新导智能
  14. “作环保的程序员,从不用百度开始”(转自酷壳)
  15. Win11的两个实用技巧系列之加载驱动失败怎么办、占用内存高的解决办法
  16. 苹果系统和安卓系统的区别_#你喜欢苹果系统还是安卓系统?
  17. 鸿蒙系统是开放系统还是封闭系统,鸿蒙系统三挑战:应用如何兼容,生态怎么搭建,开放还是闭合...
  18. Fast DDS入门二、Fast DDS在Windows平台的编译安装
  19. GridView中DataSourceID和DataSource替换
  20. 梅花香自创新来|众享比特连获2020上海区块链年度盛典三项大奖

热门文章

  1. 2016MUTC9-1010 Jong Hyok and String
  2. 进程调度算法-先来先服务调度算法(FCFS)
  3. css3 ,CSS3 动画
  4. SpringBoot-Druid-Atomikos分布式事务
  5. MATLAB截面数据空间计量模型代码②
  6. 什么是电缆故障测试仪?具体功能原理有哪些?
  7. Matlab中指定坐标轴刻度值和标签
  8. 2015年ps计算机试题,2015年3月全国计算机一级考试PS模拟试题及答案(三)
  9. Talend API Tester用法
  10. 洛古最简单50题解(41-50)