0

我有一个扩展类JFrame。在其构造函数中,我调用getContentPane()并将其存储在Container. 但是,getContentPane()似乎返回 null,因为System.out.println(container)打印“null”并调用container.setLayout(new BorderLayout)会引发空指针异常。

一些示例代码:

public class Example extends JFrame implements ... {
    public Example(){
        Container container = getContentPane();
        System.out.println(container);    //prints "null"
        container.setLayout(new BorderLayout());    //throws nullpointerexception

此外,调用类setLayout本身(即. 我正在使用 Eclipse,它没有指出任何警告或错误。该异常不是很有帮助,因为它只追溯两个级别(main(),类被实例化的地方,到调用)。this.setLayout()NullPointerExceptioncontentPanesetLayout()

如有必要,我可以发布我的整个代码,但我不想这样做,因为这是为了课堂作业,我不希望反作弊软件标记它。

4

1 回答 1

1

发现了问题。当我在 Eclipse 中创建类时,它自动生成了一堆方法,其中一个是getContentPane(). 自动生成的方法只是返回 null,这导致了我的问题。我摆脱了所有自动生成的方法,它现在可以工作了。

于 2013-04-23T17:18:54.320 回答