我尝试从一个类创建两个移动对象。我想控制它们,但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();
    }
}

最佳答案

您不能通过main方法运行JApplet。在尝试在applet中进行后台线程操作(可以完成此操作)之前,请先阅读applet教程以了解如何创建和运行applet。

当您使简单的applet正常工作并想要回到这一点时,不要让您的JApplet类实现Runnable,而是将这种责任委托(delegate)给另一个类。

请从这里开始:Getting Started with Applets

关于java - 具有多线程的JApplet,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10702865/

10-10 16:01