2013-04-09 95 views
2

我是新来的Java,我在分配任务时遇到了一些麻烦。 我有一个包含100米的JLabel面板:更新Jlabel的新职位

for(int i=0;i<100;i++) 
{ 
    num[i] = new JLabel(""+i, JLabel.CENTER); 
    mainPanel.add(num[i]); 
} 

和一个按钮来设置图像图标标签点击

public void actionPerformed(ActionEvent ae) 
{ 
    int a = ran.nextInt(6) +1;//random number 

    int b +=a;    
    if(b>=100) 
    { 
     b=99; 
     num[b].setIcon(icon); 
    } 
    else 
    {     
     num[b].setIcon(icon);    
    } 
} 

时,我怎样才能从最后一个位置删除图标,并将其更新到新的位置?

回答

2

您可以尝试记住试图设置图标的标签的arrayindex

对于示例 -

int b = 0; // make b an instance variable 

public void actionPerformed(ActionEvent ae) 
{ 
    int a = ran.nextInt(6) +1;//random number 
    num[b].setIcon(null); //remove the icon from from previously set label 

    b=a; //since b already has some value, b+=a might create unexpected result, hence just assigned a 
    if(b>=100) 
    { 
     b=99; 
     num[b].setIcon(icon); 
    } 
    else 
    {     
     num[b].setIcon(icon); 
    } 
} 
+0

非常感谢你。有用。 – user2210209 2013-04-09 11:00:22