我正在做一个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?
答案 0 :(得分:0)
for(int i=0; i<Main.panel.getComponentCount (); i++)
if(Main.panel.getComponent(i).getBounds ( ).height==60)
Main.panel.getComponent(i).setVisible(false);
使用此方法按高度删除JLabel
。它运作良好。