class PanUp extends JPanel implements Runnable{  
   ImageIcon imgLogin=new ImageIcon("image/login.gif");
   JLabel lblLogin=new JLabel(imgLogin);
   JLabel lblTime=new JLabel("现在的时间是");
   GridBagLayout gb=new GridBagLayout();
   GridBagConstraints gbc=new GridBagConstraints();
   PanUp()
{
   setLayout(gb);
   addConstraints(lblLogin,0,0,1,1,new Insets(0,0,0,0),GridBagConstraints.CENTER);
       addConstraints(lblTime,1,0,1,1,new Insets(0,20,0,0),GridBagConstraints.CENTER);
       start();//这里为什么启动不了?
  
   }
  
public void run()
    {
     Date t=new Date();
     lblTime.setText(lblTime.getText()+(t.getYear()+1900)+"."+t.getMonth()+"."+t.getDate());    }
    
    public void addConstraints(Component cmpName,int gridx,int gridy,int gridwidth,int gridheight,Insets insets,int anchor)
{
    gbc.gridx=gridx;
    gbc.gridy=gridy;
    gbc.gridwidth=gridwidth;
    gbc.gridheight=gridheight;
    gbc.insets=insets;
    gbc.anchor=anchor;
    gb.setConstraints(cmpName,gbc);
    add(cmpName);
   
}};

解决方案 »

  1.   

    start();//这里为什么启动不了?去掉这个通过,这里为什么不可能启动呢,在那启动?
      

  2.   

    Runnable 没有start()方法,Thread才有。
      

  3.   

    new Thread(this).start();
    可以这样写
      

  4.   

    Thread 对象调用Start()方法之后才会去执行run()方法撒,你这里都没有Thread对象,怎么会有start()放法嘛,能编译就怪咯,
    照着jeaking(空空) 去做