gpt4 book ai didi

java - 从 JPanel 中动态删除组件

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:09:47 25 4
gpt4 key购买 nike

我在 JPanel 中动态添加和删除组件。添加和删​​除功能工作正常,但当我删除组件时,它会删除最后一个组件而不是要删除的组件。

我该如何解决这个问题?

最佳答案

有趣的是,我遇到了同样的问题,我很惊讶人们支持另一个答案,因为他显然是在询问动态创建的组件,而不是已经在变量名下创建的组件可获得的,而不是匿名创建的对象。

答案很简单。采用 getComponents()循环访问添加到 JPanel 的组件数组。使用 instanceof 查找您要删除的组件类型例如。在我的示例中,我删除了添加到我的 JPanel 的所有 JCheckBoxes。

Make sure to revalidate and repaint your panel, otherwise changes will not appear

组件来自java.awt.Component.

//Get the components in the panel
Component[] componentList = panelName.getComponents();

//Loop through the components
for(Component c : componentList){

//Find the components you want to remove
if(c instanceof JCheckBox){

//Remove it
clientPanel.remove(c);
}
}

//IMPORTANT
panelName.revalidate();
panelName.repaint();

关于java - 从 JPanel 中动态删除组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7117332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com