4

我添加了一个按钮到JPanel. JPanel如果包含按钮,我想删除按钮。有什么方法可以检查是否JPanel包含按钮?

4

3 回答 3

10

如果您有对 的引用JButton,请调用getParent()。如果父级是null,则该按钮不在面板(或任何容器)中。

或者,按照@kleopatra 的建议进行操作并在实例上调用getComponents()JPanel并迭代数组以查找任何instanceof JButton.

于 2011-09-06T11:15:36.930 回答
7

有必要检查吗?如果没有,那么只需删除JButton而不检查。如果它不包含在JPanel.

于 2011-09-12T06:24:36.777 回答
1

如果您有对按钮的引用:

List<Component> componentList = Arrays.asList(panel.getComponents());
if (!componentList.contains(button)) {
  panel.add(button);
}
于 2017-01-27T18:02:13.213 回答