你首先要明白,swing和awt是两套不同的gui。awt中是没有jframe的。awt是诞生与早期的图形界面开发工具包。里面的类名前面没有J,是重量级组件,与操作系统相关大。swing是后来为了解决系统依赖而出现的解决方案,并且增加了一些awt中没有的功能。类名与awt对应的一般加了一个J。也就是说JDialog是swing中的,他不是顶层容器,一般首先要有一个JFrame作为父窗口,然后在创建JDialog。
这两个都是图形界面的类,现在即使用到的一般是Swing,AWT一般不用了,过时了