私はこの質問を解決しようとしますが、無限ループがあり、この問題を解決する方法がわかりません。教えて。私はJavaを初めて使用します。
ターミナル内:
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
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){}
}
}
}