我有一个 JFrame 和多个 JPanel,它们都是从公共类 ProcessedFinal 扩展 JFrame 调用的,在这里,我有我的所有动作侦听器,包括 IAgreeJB。当我单击 iagreeJB 时,PlayGameJP 应该设置为可见。它起作用了,当我调用退出 JPanel (ExitJP) 时,现在当我调用新的 JPanel (PlayGameJP) 时,我收到此错误:
线程“AWT-EventQueue-0”java.lang.IllegalArgumentException 中的异常:向容器添加窗口
这对我来说毫无意义,因为我只是用一个 JPanel 代替另一个,这可能是什么原因?
if ( e.getSource() == ComputeRegistrationJP.IAgreeJB )
{
remove(ComputeRegistrationJP);
setVisible( false );
add( ExitJP );
setVisible(true);
// add( PlayGameJP );
// setVisible( true );
}
没关系的朋友,我在 PlayGameJP 中扩展了 JFrame 而不是 JPanel,仅此而已。