Java未知异常

Java未知异常,java,swing,exception,illegalargumentexception,Java,Swing,Exception,Illegalargumentexception,谁能告诉我为什么我会有以下例外情况 Exception in thread "main" java.lang.IllegalArgumentException adding a window to a container : java.awt.Container.checkNotAWindow(Unknown Source) java.awt.Container.addImpl(Unknown Source) java.awt.Container.add(Unknown Source

谁能告诉我为什么我会有以下例外情况

Exception in thread "main" java.lang.IllegalArgumentException adding a window to a container :
 java.awt.Container.checkNotAWindow(Unknown Source) 
 java.awt.Container.addImpl(Unknown Source)  
 java.awt.Container.add(Unknown Source)         
 javax.swing.JFrame.addImpl(Unknown Source)
 java.awt.Container.add(Unknown Source)
 clockframe.<init>(clockframe.java:14)
 clockframe.main(clockframe.java:32)

clockpanel
可能会扩展一个窗口,例如
JFrame
。您可能打算扩展
JPanel
(尽管这样做是不必要的,除非向新的
JPanel
添加自定义绘制等新功能)。

clockpanel
可能会扩展一个窗口,例如
JFrame
。您可能打算改为扩展
JPanel
(尽管这样做是没有必要的,除非向新的
JPanel
添加新功能,如自定义绘制)

似乎
clockpanel
继承自
Window
,从而触发了最后一个子句

编辑:不用再猜了。。刚刚注意到堆栈顶部的跟踪。。这就是原因。

看看

似乎
clockpanel
继承自
Window
,从而触发了最后一个子句


编辑:不用再猜了。。刚刚注意到堆栈顶部的跟踪。。这就是原因。

答案在于它自身在堆栈跟踪中:

 thread "main" java.lang.IllegalArgumentException adding a window to a container 

您正在将
窗口
添加到
容器
,这是不允许的。

答案位于堆栈跟踪中:

 thread "main" java.lang.IllegalArgumentException adding a window to a container 

您正在将
窗口
添加到
容器
,这是不允许的。

在调试器中运行您的代码,并将其配置为在异常情况下中断:以大写字母开始类名1)要更快地获得更好的帮助,请发布一个。我猜
时钟面板
实际上是一个框架。但我不喜欢猜测。2) 请学习类、方法和属性名称的通用(特别是用于名称的大小写)并一致使用它们。在调试器中运行代码,并将其配置为在出现异常时中断:以大写字母开始类名1)为了更快地获得更好的帮助,请发布一个。我猜
时钟面板
实际上是一个框架。但我不喜欢猜测。2) 请学习类、方法和属性名称的通用(特别是用于名称的大小写),并一致使用它们。
 thread "main" java.lang.IllegalArgumentException adding a window to a container