public class J extends JFrame implements MouseListener,MouseMotionListener {
    
   private Icon bg[]={new ImageIcon("1.jpg"),new ImageIcon("2.jpg"),new ImageIcon("3.jpg"),new ImageIcon("4.jpg"),new ImageIcon("5.jpg"),new ImageIcon("6.jpg")};
      private JLabel label1[]=new JLabel[30];
   public J(){
      
      for(int i=0;i<30;i++)
      label1[i].setIcon(bg[(int)Math.random()*6]);
我想动态分配LABEL1的内容.... 怎么做啊?~ 
这样不行呢怎么?~

解决方案 »

  1.   

    private JLabel label1[]=new JLabel[30];
       public J(){
          
          for(int i=0;i<30;i++)
          label1[i].setIcon(bg[(int)Math.random()*6]);
    ===========
    是不是应该先要 label1[i] = new JLabel 啊,才:
    label1[i].setIcon(bg[(int)Math.random()*6]);
      

  2.   

    你没有在for中对labell初始化
    labell[i]=new JLabel();
    同时加入到容器里
    getContentPane().add(label1[i]);
      

  3.   

    [(int)Math.random()*6]也错了
    应该是
    (int)(6*Math.random());
      

  4.   

    C++背景深了容易出这种问题!
    JLabel label1[]=new JLabel[30];
    分配了数组,却没有为每个Jlabel分配空间