如何使用getComponent()等方法引用空的JPanel?

时间:2014-10-20 19:00:02

标签: java swing

正如问题所述,我想知道如何引用空的JPanel。这是我的小代码片段:

try
{                           
    if(tiles[3][3].getComponent(0) == null)
    {
        JOptionPane.showMessageDialog(null, "true");
    }
}
catch(ArrayIndexOutOfBoundsException e)
{
}

在这个例子中,我想在3,3(它是空的)引用JPanel,并且getComponent()将抛出异常,因为没有第n个组件。 getComponents也不起作用,因为它们不是组件。我尝试过:

if(tiles[3][3].getComponents == null)

那仍然没有用。

特别是对于这个问题,我想在if语句中使用一个空的tile,以便我可以检查tile是否为空,如果是,那么我将对它做一些事情。

1 个答案:

答案 0 :(得分:1)

如果数组项可能为null,则在尝试访问与其相关的任何方法之前,必须检查它是否为null。因此,请检查tiles[3][3] == null

确定它不为空后,您必须调用getComponents()方法或getComponentCount()方法。

请注意,这些是方法,而不是元素,因此您必须使用大括号调用它们。

getComponents()方法返回一个组件数组,因此您必须检查数组的长度。

getComponentCount()返回一个整数,表示JPanel中的组件数。

方法getComponent(N)(单数,而不是复数)要求具有给定索引的组件在JPanel中,因此它不适用于空的JPanel。

相关问题