Jbutton,JPanel,JFrame和IllegalArgumentException:向容器添加窗口

时间:2012-05-13 08:18:00

标签: swing jframe awt jpanel jbutton

我有一个JFrame和多个JPanel,都是从公共类中调用的,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中扩展JFrame而不是JPanel,这就是全部。

1 个答案:

答案 0 :(得分:0)

我有一些问题要问你! :)

  

...我有我的所有动作听众,包括IAgreeJB ......

这与问题有关吗?

  

...现在,当我调用新的JPanel(PlayGameJP)时,我收到此错误:...

据我所知,JPanel没有JPanel (javax.swing.JPanel)的构造函数,假设PlayGameJP是JPanel。因此,在这种情况下,您必须得到的错误是:

no suitable constructor found for JPanel(javax.swing.JPanel)


说到这些,你发布的代码与你写的问题有什么关系?


为了更快地提供帮助,我建议您重新提出问题并发布SSCCE您最佳的尝试。或相关的代码。


对于您发布的错误消息,

  

... java.lang.IllegalArgumentException:向容器添加窗口......

当您尝试将顶级容器添加到另一个容器时,我已经看到了这一点,例如将JDialog添加到JFrame