检查 JPanel 是否包含 JButton

发布于 2024-12-03 06:01:54 字数 108 浏览 3 评论 0原文

我已向 JPanel 添加了一个按钮。如果 JPanel 包含按钮,我想删除该按钮。有没有办法检查JPanel是否包含按钮?

I have added a button to a JPanel. I want to remove the button if the JPanel contains the button. Is there any way to check whether the JPanel contains the button?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

花辞树 2024-12-10 06:01:54

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

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

If you have a reference to the JButton, call getParent(). If the parent is null, the button is not in the panel (or any container).

Alternately, do as @kleopatra suggested and call getComponents() on the JPanel instance and iterate the array looking for anything that is an instanceof JButton.

衣神在巴黎 2024-12-10 06:01:54

是否需要检查?如果没有,则只需删除 JButton 而不进行检查。如果 JPanel 不包含它,则不会发生任何事情。

Is checking necessary? If not, then just remove the JButton without checking. Nothing will happen if it is not contained by the JPanel.

掌心的温暖 2024-12-10 06:01:54

如果您有该按钮的引用:

List<Component> componentList = Arrays.asList(panel.getComponents());
if (!componentList.contains(button)) {
  panel.add(button);
}

If you have a reference to the button:

List<Component> componentList = Arrays.asList(panel.getComponents());
if (!componentList.contains(button)) {
  panel.add(button);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文