を拡張するクラスがあります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()呼び出しまで) しかトレースバックしないため、あまり役に立ちません。
必要に応じてコード全体を投稿できますが、これはクラスの割り当てのためであり、チート対策ソフトウェアにフラグを立てたくないため、投稿したくありません。