0
我試圖解決這個問題,但我有一個無限循環,不知道如何解決這個問題。引導我。我是Java新手。在Applet中生成隨機三角形(動畫)
在終端:
Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
at ThreadApplet.RandGen(ThreadApplet.java:10)
at ThreadApplet.paint(ThreadApplet.java:30)
at java.awt.Container.update(Container.java:1988)
at sun.awt.RepaintArea.updateComponent(RepaintArea.java:255)
感謝您的幫助!
問題:編寫一個applet,以不同顏色顯示隨機生成的三角形。
/////////////Applet
import java.awt.*;
import java.applet.*;
public class ThreadApplet extends Applet{
MyThread thread;
int x[],y[];
public boolean ctrl=true;
public void RandGen(){
for (int i=0; i<3;i++){
x[i]=(int)Math.random()*100;
y[i]=(int)Math.random()*100;
}
}
public void start(){
if (thread==null){
thread = new MyThread(this);
thread.start();
}
}
public void stop(){
thread = null;
}
public void paint(Graphics g){
if (ctrl==true){
g.setColor(Color.blue);
} else {
g.setColor(Color.red);
}
RandGen();
g.fillPolygon(x,y,3);
}
}
public class MyThread extends Thread{
ThreadApplet applet;
public MyThread (ThreadApplet applet){
this.applet=applet;
}
public void run(){
Thread thisThread = Thread.currentThread();
while (this==thisThread){
applet.repaint();
try{Thread.sleep(50);}
catch(InterruptedException e){}
}
}
}
如果您再次遇到NullPointerException,請查看引發它的行,因爲這通常會告訴哪個變量爲null,而該變量不應爲null。如果您仍然無法解決問題並需要我們的幫助,請告訴我們***導致它的行(給它一個明顯的**大**評論),所以我們不必爲了猜猜它是哪一行。 –