JFrame と複数の JPanels があり、すべてパブリック クラス ProcessedFinal から呼び出され、JFrame を拡張します。ここには、IAgreeJB を含むすべてのアクション リスナーがあります。iagreeJB をクリックすると、PlayGameJP が表示されるはずです。出口JPanel(ExitJP)を呼び出したときに機能しましたが、新しいJPanel(PlayGameJP)を呼び出すと、次のエラーが発生します:
スレッド「AWT-EventQueue-0」での例外 java.lang.IllegalArgumentException: コンテナーへのウィンドウの追加
あるJPanelを別のJPanelに置き換えているだけなので、意味がありません。理由は何ですか?
if ( e.getSource() == ComputeRegistrationJP.IAgreeJB )
{
remove(ComputeRegistrationJP);
setVisible( false );
add( ExitJP );
setVisible(true);
// add( PlayGameJP );
// setVisible( true );
}
PlayGameJP で JPanel の代わりに JFrame を拡張していました。