java - 删除多个同名按钮

标签 java swing button

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

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

最佳答案

如果您想删除面板中的所有按钮,可以使用:

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);
}

其中 BlankBut​​ton 是您使用 panel.add( new BlankBut​​ton(...) ) 创建的用于表示额外空间的组件。

如果您尝试做其他事情,那么您需要澄清您的问题。

关于java - 删除多个同名按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30218146/

相关文章:

java - 如何在 Android 中复制无法解析的日期错误?

java - FindBugs 警告 : Inefficient use of keySet iterator instead of entrySet iterator

java - 如何用空的 JTable 行填充 JScrollPane 的高度?

java - 支持具有相同子节点的 JTree 节点

java - dispose() 不起作用。打开新窗口同时关闭另一个窗口

java - 在 phpmyAdmin 中验证用户名和密码

javascript - jQuery - 在执行函数之前创建第一个动态页面

javascript - 获取所选单选按钮的组合以在单击按钮时显示消息

javascript - 我可以/如何使用带有 if 语句的 OnClick 吗?

java - Springboot“无法访问org.springframework.web.webapplicationinitializer”