を拡張するクラスがありますJFrame
。そのコンストラクターで、それを呼び出しgetContentPane()
て に保存しContainer
ます。ただし、「null」を出力し、呼び出すとnullポインター例外がスローされるため、 getContentPane()
nullを返しているようです。System.out.println(container)
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
クラス自体 (つまりthis.setLayout()
) を呼び出すと もスローNullPointerException
されますが、ドキュメントを正しく理解していれば、これはフレームで呼び出すと単にフレームの に委任されるためcontentPane
です。私は Eclipse を使用していますが、警告やエラーは指摘されていません。この例外は、2 つのレベル (クラスがインスタンス化される main() からsetLayout()
呼び出しまで) しかトレースバックしないため、あまり役に立ちません。
必要に応じてコード全体を投稿できますが、これはクラスの割り当てのためであり、チート対策ソフトウェアにフラグを立てたくないため、投稿したくありません。