具有多线程的JApplet

时间:2012-05-22 13:19:11

标签: java multithreading runnable japplet

我尝试从一个类创建两个移动对象。我想控制它们,但JApplet不会打开线程。

我的代码:

import java.awt.Graphics;
import javax.swing.JApplet;

class RunnableThread extends JApplet implements Runnable{

    Thread runner;
    String name;

    public RunnableThread(String namex){
        name=namex;
    }    

    public void init(){
        setSize(200,300);
    }

    public void paint(Graphics g){
        g.drawLine(20, 20, 50, 50);
    }

    public void run(){  
        System.out.println("test"+name);            
    }      
}


import java.util.logging.Level;
import java.util.logging.Logger;


public class RunnableTest{    
    public static void main(String args[]){
    RunnableThread bt1=new RunnableThread("test 1"); 
    RunnableThread bt2=new RunnableThread("test 2");     
    Thread btt1=new Thread(bt1);
    Thread btt2=new Thread(bt2);
    btt2.start();
    btt1.start();    
    } 
}

2 个答案:

答案 0 :(得分:3)

您无法通过main方法运行JApplet。在尝试在applet中进行后台线程之前(可以这样做),请先阅读applet教程,了解如何创建和运行applet。

当你让简单的applet工作并想要回到这个时,不要让你的JApplet类实现Runnable,而是将该责任委托给另一个类。

请从这里开始:Getting Started with Applets

答案 1 :(得分:1)

您无法以这种方式实现JApplet。 applet可以在没有main方法的情况下运行,而不是你如何运行。有关如何将applet作为applet和应用程序运行的更加用户友好的指南,请阅读this tutorial它非常用户友好并且非常好地解释了applet。