删除具有相同名称的多个按钮

时间:2015-05-13 14:40:21

标签: java swing button

我为游戏添加按钮但是当在循环中移除按钮时,即使我以相同的方式添加按钮,它也只会删除一个按钮

for(int i=0 - 1; i < 4 ; i++) {
    panelButtonsub.remove(buttonBlankItems);
    }
    panelButtonsub.setLayout (new GridLayout (intLayout,intLayout));
    revalidate();
    repaint();

2 个答案:

答案 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次,然后你试图删除它们。