java - 在Applet中生成随机三角形(动画)

标签 java applet

我尝试解决这个问题,但我有一个无限循环,不知道如何解决这个问题。引导我。我是 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){} 
        }       
    }
}

最佳答案

使用前需要初始化数组:

 int x[] = new int[17];

例如。

关于java - 在Applet中生成随机三角形(动画),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10790682/

相关文章:

java - Rythm 使用变压器和带有 @i18n 标签的嵌套标签

java - 在Android上使用网络套接字发送传感器的原始数据

java - 我的第一个小程序无法在浏览器中加载

java - 如何在 Eclipse 中运行 Java 文件服务小程序?

Java:将小程序转换为桌面应用程序

尝试从 .jar 文件加载小程序时出现 java.lang.ClassNotFoundException

java - 如何让我的 Java Applet 显示卡片图像?

java - 如何强制子类在编译时初始化父类(super class)属性?

java - Submit() 重定向到另一个页面,而 click() 不允许我访问内页

java - 使用 JNativeHook 制作游戏