一点疑问,有关线程中的类
 1、	有一副扑克牌(52张),发到4个人手中, 
 要求: 
 1)	点击开始按钮,开始发牌,点击洗牌重新开始 
 2)	每半秒发一张牌,从第一个人开始发,界面上显示4个人得到的牌(排好序),不,4个人得到的牌不能有重复 
 提示: 
 1)   给扑克牌类加一个标志,表示该张牌是否已用 
 2)   定义52大小的扑克牌数组,先生成完整的52张牌 
 3)   给四个人定义四个13大小的数组,当发到某个人,可以随机发一张牌,检查该牌是否已用,若没有,则发给这个人,并且将这个人得到的牌排序,(repaint())显示到界面上,并且将这个牌置为已用;否则再随机发一张牌。 
 4)参考thinking   in   java   第14章   多线程例子,Counter2.java,主界面由Applet来实现, 
 发牌由“class   SeparateSubTask   extends   Thread”   来实现,注意发牌线程类构造函数中的参数:SeparateSubTask(Counter2   c2),参数使用主界面类的对象,这样在发牌线程中就可以操作主界面上的元素。   
 框架: 
 import   java.awt.*; 
 import   java.awt.event.*; 
 import   java.applet.*;   
 class   Play   extends   Thread   {   
       private   Mainpanel   m;   
       public   SeparateSubTask(Mainpanel   m)   { 
             this.m   =   m; 
             start(); 
       }   
       public   void   run()   { 
             while   (true) 
 	{ 
                   try    
 	      { 
                               sleep(500); 
                   }   catch   (InterruptedException   e){} 
                   //随机产生一张牌 
 	      //发给某一个人   m.man1,m.man2,,,,, 
 	      //对m.man1,m.man2,m.man3,m.man4,排序 
 	      //调用m.repaint()重画主界面    		 
             } 
       } 
 }      
 public   class   Mainpanel   extends   Applet   {     
       private   Play   pl   =   null; 
       private   Button    
             onOff   =   new   Button( "suffle "), 
             start   =   new   Button( "Start "); 
    Card   c=new   Card[52]; 
    Card   man1=new   Card[13]; 
    Card   man2=new   Card[13]; 
    Card   man3=new   Card[13]; 
    Card   man4=new   Card[13];   
       public   void   init()   {   
 	for() 
 	{ 
 		//初始化52张纸牌 
 	} 
             add(t);                                                                                                                        //请问哪来的t? 
             start.addActionListener(new   StartL()); 
             add(start); 
             onOff.addActionListener(new   OnOffL()); 
             add(onOff); 
       } 
       class   StartL   implements   ActionListener   { 
             public   void   actionPerformed(ActionEvent   e)   { 
                   if(pl   ==   null) 
                         pl   =   new   Play(Counter2.this); 
             } 
       }      
       public   void   paint(Graphics   g) 
       { 
                //根据man1,man2,man3,man4画出牌 
       }