删除具有"same"名称的 JLabels(英语:JLabels)



我正在做一个4连胜游戏,我将红色或绿色部分作为标签添加到面板游戏中,但始终是相同的标签。我的代码是这样的(相关的)

labeljogo = new JLabel(new ImageIcon( bola ));
if(f.getSource()==setaL1 && c1==6 && modoDeJogo==2 || setaPc=="setaL1" && c1==6 && modoDeJogo==3 && jogadorActual==2 || f.getSource()==setaL1 && c1==6  && modoDeJogo==3 && jogadorActual==1 || modoDeJogo==4 && setaPc=="setaL1" && c1==6)
    {
        labeljogo.setBounds(150, 100, 60, 60);
        c1++;
        matrix[1][0]=jogadorActual;
    }
if(f.getSource()==setaL1 && c1==6 && modoDeJogo==2 || setaPc=="setaL1" && c1==6 && modoDeJogo==3 && jogadorActual==2 || f.getSource()==setaL1 && c1==6  && modoDeJogo==3 && jogadorActual==1 || modoDeJogo==4 && setaPc=="setaL1" && c1==6)
    {
        labeljogo.setBounds(150, 100, 60, 60);
        c1++;
        matrix[1][0]=jogadorActual;
    }

(…)并且它继续,直到所有8*8块都在面板中

图像bola通过改变玩家而改变。

我怀疑是否有任何方法可以清洁所有这些同名的JLabel。因为当我打电话给

 panel.remove(labeljogo);

它只删除最后一个。

有没有办法在不影响其他JLabel的情况下删除这个JLabel?

for(int i=0; i<Main.panel.getComponentCount (); i++)
    if(Main.panel.getComponent(i).getBounds ( ).height==60)
        Main.panel.getComponent(i).setVisible(false);

使用此方法按高度移除CCD_ 1s。它运行良好。

最新更新