2

我是 Java 新手,我的作业遇到了一些麻烦。我有一个包含 100 个 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);              
    }
}

如何从最后一个位置删除图标并将其更新到新位置?

4

1 回答 1

2

您可以尝试记住您尝试为其设置图标的标签的indexarray

例如-

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);
    }
}
于 2013-04-09T10:50:10.220 回答