I am new to using threads and I am having a problem using them in applets Is there anyone who would help me solve this problem? I am running on windows XP.

Here is the error message:

java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThreadGroup)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
at java.security.AccessController.checkPermission(AccessController.java:401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
at sun.applet.AppletSecurity.checkAccess(AppletSecurity.java:169)
at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:287)
at java.lang.Thread.init(Thread.java:286)
at java.lang.Thread.<init>(Thread.java:332)
at Ballbewegung1.start(Ballbewegung1.java:19)
at sun.applet.AppletPanel.run(AppletPanel.java:371)
at java.lang.Thread.run(Thread.java:536)



Here is a copy of the code:

import java.applet.*;
import java.awt.*;

public class Ballbewegung1 extends Applet implements Runnable
{
// Initialisierung der Variablen
int x_pos = 10; // x - Position des Balles
int y_pos = 100; // y - Position des Balles
int radius = 20; // Radius des Balles

public void init()
{
setBackground (Color.blue);
}

public void start ()
{
// Schaffen eines neuen Threads, in dem das Spiel läuft
Thread th = new Thread (this);
// Starten des Threads
th.start ();
}

public void stop()
{

}

public void destroy()
{

}

public void run ()
{
// Erniedrigen der ThreadPriority um zeichnen zu erleichtern
Thread.currentThread().setPriority(Thread.MIN_PRIORITY);

// Solange true ist läuft der Thread weiter
while (true)
{
// Verändern der x- Koordinate
x_pos ++;

// Neuzeichnen des Applets
repaint();

try
{
// Stoppen des Threads für in Klammern angegebene Millisekunden
Thread.sleep (20);
}
catch (InterruptedException ex)
{
// do nothing
}

// Zurücksetzen der ThreadPriority auf Maximalwert
Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
}
}


public void paint (Graphics g)
{
g.setColor (Color.red);

g.fillOval (x_pos - radius, y_pos - radius, 2 * radius, 2 * radius);
}

}