我有一个主类,我所有的 gui 组件都被称为 Math.java。在一个单独的类 (Calc) 中,我从 Calc 的构造函数中的 Math 获取所有组件并将它们保存在本地组件中。唯一不起作用的是,当我尝试获取其中一个组件的父组件时,它总是返回 null。当我直接访问 Math 中的 JLabels 时,它可以工作。
card[] 是一个 JLabels 数组。panel2a 和 layer 是 JPanel。
public void clear()
{
for(int i =0;i <cards.length; i++)
{
//this works, calling the components directly
if(math.cards[i].getParent().equals(math.panel2a) )
{
math.panel2a.remove(cards[i]);
layer.add(cards[i]);
layer.repaint();
}
//this doesn't work, using the local components
if(cards[i].getParent().equals(panel2a) )
{
panel2a.remove(cards[i]);
layer.add(cards[i]);
layer.repaint();
}
}
}