7
A
回答
6
使用方法Container.remove(Component)
,可以从容器中删除任何组件。例如:
JPanel j = new JPanel();
JButton btn1 = new JButton();
JButton btn2 = new JButton();
j.add(btn1);
j.add(btn2);
j.remove(btn1);
3
有趣的是,我在同样的问题来了,我很惊讶人们upvoting对方的回答,因为他清楚地询问动态创建的组件,而不是下一个变量名已创建的组件这是可以获得的,而不是匿名创建的对象。
答案很简单。使用 getComponents()来遍历添加到JPanel的组件数组。例如,使用instanceof查找要删除的组件类型。在我的例子中,我删除了添加到我的JPanel的所有JCheckBox。
Make sure to revalidate and repaint your panel, otherwise changes will not appear
//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();
相关问题
- 1. 从JPanel动态删除组件
- 2. 动态删除JPanel
- 3. 从JPanel删除JPanel
- 4. 从JPanel删除透明JPanel
- 5. 从动态组件中删除类型
- 6. 从动态数组中删除项目
- 7. 删除动态生成的组件VueJS
- 8. 难以从Jpanel中删除所有组件
- 9. 从JPanel中删除组件时出现StackOverFlowError
- 10. 在JPanel中动态添加组件
- 11. 动态添加组件到JPanel
- 12. 删除动态数组
- 13. 从删除动态数组中删除Seg错误
- 14. 从组件中删除动作事件
- 15. 从动态界面中删除控件
- 16. 从datagridview动态删除列
- 17. 从CSV动态删除列
- 18. Flex 4从画布中删除动态创建的组件
- 19. 动态删除附件?
- 20. 动态添加组件到JPanel更改组件大小
- 21. 从JPanel完全删除JLabel ... not setVisible(False)
- 22. 从initComponent中删除组件()
- 23. C++动态数组的删除部分
- 24. 删除动态分配的数组C++
- 25. 删除动态数组后,堆腐败
- 26. 删除3D动态数组C++
- 27. 动态数组结构,删除元素
- 28. MATLAB删除行动态数组
- 29. listitem - 删除 - 动态
- 30. 动态删除angular.module()
请发表您的代码,以便我们可以提供帮助。 –
为了更好地提供帮助,请包括[SSCCE](http://www.sscce.org) – mre
您是否正在使用“public void remove(int index)”而不是“public void remove(Component comp)”?如果您想要更好的答案,请发布SSCCE。 –