2
我有一個主類,其中我所有的gui組件都被稱爲Math.java。在一個單獨的類(Calc)中,我得到了所有的組件,並將它們保存在Calc的構造函數的Math中的本地組件中。唯一不起作用的是當我嘗試獲取其中一個組件的父組件時,它總是返回null。當我直接訪問Math中的JLabels時,它可以工作。Swing:從另一個類獲取組件的父項
cards []是一個JLabels數組。 panel2a和圖層是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();
}
}
}
「我得到所有組件並將它們保存在Math的構造函數中的本地組件中計算器「。顯示此 –
@ rasen58向我們展示一些代碼。很可能,您正在訪問這些組件的不同實例。 –