我在JPanel
添加了一个按钮。如果JPanel
包含按钮,我想删除按钮。有没有办法检查JPanel
是否包含按钮?
答案 0 :(得分:8)
如果您引用JButton
,请致电getParent()。如果父级是null
,则该按钮不在面板(或任何容器)中。
或者,按@kleopatra建议并在JPanel
实例上调用getComponents()并迭代数组以查找instanceof JButton
的任何内容。
答案 1 :(得分:7)
检查是否必要?如果没有,那么只需删除JButton
而不检查。如果JPanel
未包含任何内容,则不会发生任何事情。
答案 2 :(得分:1)
如果您有对按钮的引用:
List<Component> componentList = Arrays.asList(panel.getComponents());
if (!componentList.contains(button)) {
panel.add(button);
}