2

私はJavaが初めてで、割り当てに問題があります。100 個の JLabels を含む Panel があります。

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

アイコンを設定しようとしたラベルindexのを思い出すことができます。array

例えば-

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 に答える