2012-05-22 65 views
2

我嘗試從一個類創建兩個移動對象。我想控制它們,但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();  
    } 
} 

回答

3

您無法通過的主要方法運行JApplet的。在嘗試在applet中執行後臺線程之前(這可以完成),請先閱讀applet教程,以瞭解如何創建和運行applet。

當你得到你的簡單小程序的工作,並希望回到這個,不要讓你的JApplet類實現Runnable,而是委託給另一個類的責任。

請從這裏開始:Getting Started with Applets

1

你不能實例化一個JApplet的那種方式。一個小程序可以在沒有主要方法的情況下運行,而不是你如何這樣做。有關如何將applet作爲applet運行和作爲應用程序的更多用戶友好指南,請閱讀this tutorial它非常友好,並且很好地解釋了applet。