2

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

2 回答 2

3

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

当您让您的简单小程序正常工作并想要回到这一点时,不要让您的 JApplet 类实现 Runnable,而是将该责任委托给另一个类。

请从这里开始:Applet 入门

于 2012-05-22T13:33:10.427 回答
1

您不能以这种方式实例化 JApplet。一个小程序可以在没有 main 方法的情况下运行,而不是你如何这样做。有关如何将小程序作为小程序和应用程序运行的更用户友好的指南,请阅读本教程,它非常用户友好,并且很好地解释了小程序。

于 2012-05-22T13:40:40.310 回答