我有一個類延伸JFrame
。在其構造函數中,我呼叫getContentPane()
並將其存儲在Container
中。但是,getContentPane()
似乎返回null,因爲System.out.println(container)
打印出「null」並調用container.setLayout(new BorderLayout)
將引發空指針異常。getContentPane()返回null
一些示例代碼:
public class Example extends JFrame implements ... {
public Example(){
Container container = getContentPane();
System.out.println(container); //prints "null"
container.setLayout(new BorderLayout()); //throws nullpointerexception
此外,類本身(即this.setLayout()
)調用setLayout
還拋出一個NullPointerException
,但如果我理解正確的文檔,這是因爲在框架上調用它只是代表它到框架的contentPane
。我使用Eclipse,並沒有指出任何警告或錯誤。這個異常不是很有用,因爲它只追溯到兩個級別(main(),其中該類實例化到setLayout()
調用)。
如果有必要,我可以發佈我的整個代碼,但我不想這樣做,因爲這是爲了一個類的任務,我不想要反作弊軟件來標記它。
是的,可能需要看到更多:P – MadProgrammer 2013-04-23 03:09:01
*「我可以發佈我的整個代碼,如果有必要,」*而不是你的整個代碼,發佈[SSCCE](http://sscce.org)內容窗格。在提交完成的代碼時,相似程度會很小。 'public class Example extends JFrame implements ... {'..但這可能不是代碼應該**擴展JFrame **而不是簡單地使用一個實例的情況。 – 2013-04-23 03:33:09
你在控制檯上遇到了follwing錯誤。 javax.swing.JPanel中[null.contentPane,0,0,0x0,無效,佈局= javax.swing.JRootPane中$ 1,alignmentX = 0.0,alignmentY = 0.0,邊界=,旗幟= 9,MAXIMUMSIZE =,=的minimumSize,首選大小= ] – chintan 2013-04-23 06:20:29