【发布时间】:2009-05-13 18:44:35
【问题描述】:
我可以知道如何确定是否在 JPanel 中找到了组件吗?
boolean isThisComponentFoundInJPanel(Component c)
{
Component[] components = jPanel.getComponents();
for (Component component : components) {
if (c== component) {
return true;
}
}
return false;
}
使用循环效率不高。有没有更好的办法?
【问题讨论】:
-
没有。仅仅是基于“虚假”的技术原因。为了获得> 1st深度级别的父子关系,我使用递归调用来实现。在我阅读 Tom Hawtin 的时候,我的第一个想法是 getComponents 将返回 >1st depth level children(这是不正确的)。因此,我首先认为它比您的更直接,这让我不假思索地点击接受它作为答案。是我的错。答案将归你所有:)