我一直在寻找这个答案两天,但这似乎没有解决太多.主要是因为我并不真正了解导致我的错误的原因,也不知道如何解决问题.
我一直试图制作各种各样的"动画",其中一个图层在屏幕右侧产生圆圈并随着时间的推移将它们发送到左侧.问题是每次它是要产生一个圆圈,它不会出现,我得到一个错误.
Exception in thread "Thread-4" java.lang.NullPointerException
at Ball.draw(Ball.java:39)
at Ball.run(Ball.java:23)
Run Code Online (Sandbox Code Playgroud)
以下是导致错误的类:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.util.Random;
import javax.swing.JPanel;
public class Ball extends Thread{
JPanel drawingPanel;
private int x=400,y=200;
private int dx=-2,dy=0;
private static final int XSIZE=10,YSIZE=10;
Random rdm = new Random();
int y_rdm = rdm.nextInt(440)+30;
public Ball(JPanel jp){
drawingPanel=jp;
dx-=1;
}
public void run(){
draw();
for (int i=0;i<1000;i++){
try{
Thread.sleep(10);
}
catch(InterruptedException e){}
move();
}
}
private void move(){
erase();
changePos();
draw();
}
private void draw(){ …Run Code Online (Sandbox Code Playgroud)