我为游戏添加按钮但是当在循环中移除按钮时,即使我以相同的方式添加按钮,它也只会删除一个按钮
for(int i=0 - 1; i < 4 ; i++) {
panelButtonsub.remove(buttonBlankItems);
}
panelButtonsub.setLayout (new GridLayout (intLayout,intLayout));
revalidate();
repaint();
答案 0 :(得分:2)
如果要删除面板中的所有按钮,可以使用:
panel.removeAll();
如果要删除面板中的前4个按钮,可以使用:
for (int i = 0; i < 4, i++)
panel.remove(0);
如果您尝试从面板中删除某种类型的组件,则需要从最后开始删除组件:
int components = panel.getComponentCount();
for (int i = components - 1; i >= 0; i --)
{
Component c = panel.getComponent(i);
if (c instance of BlankButton)
panel.remove(i);
}
BlankButton
是您使用panel.add( new BlankButton(...) )
创建的用于表示额外空间的组件。
如果您正在尝试做其他事情,那么您需要澄清您的问题。
答案 1 :(得分:-1)
每个buttonBlankItems
按钮必须有不同的实例。我想你要添加相同的按钮5次,然后你试图删除它们。