是否可以在不使用JFrame或任何类似工具的情况下用Java创建窗口?

是否可以在不使用JFrame或任何类似工具的情况下用Java创建窗口?,java,window,Java,Window,我用Java开发应用程序已经有一段时间了,我总是这样做来创建一个窗口: JFrame frame = new JFrame(); 但是,如果不使用JFrame或Frame类,我如何创建一个窗口呢?当我这样做时,实际上是什么,是否可以在java中进行,或者我需要使用C++或汇编之类的低级语言吗?< /p> < p>查看JFrror层次结构。p> 您可以使用JFrame或其超类JWindow在java中创建窗口。您还可以使用java.awt.Frame及其超类窗口。在所有这些情况下,您都可以从操作

我用Java开发应用程序已经有一段时间了,我总是这样做来创建一个窗口:

JFrame frame = new JFrame();
但是,如果不使用JFrame或Frame类,我如何创建一个窗口呢?当我这样做时,实际上是什么,是否可以在java中进行,或者我需要使用C++或汇编之类的低级语言吗?< /p> < p>查看JFrror层次结构。p>
您可以使用JFrame或其超类JWindow在java中创建窗口。您还可以使用java.awt.Frame及其超类窗口。在所有这些情况下,您都可以从操作系统的角度创建窗口

呵呵,很抱歉用一个问题来回答你的问题,但是你为什么不想使用Swing呢?特别是因为您已经使用Java开发应用程序一段时间了?Joe这不是不想使用swing的问题-我想看看它在较低级别上是如何工作的。您需要使用JNI/JNA,这将允许您创建一个满足您需要的窗口。之后的问题实际上可以附加任何内容。Swing组件共享一个通用的本机对等点或窗口,并通过内部本机结构构建以支持它。因此,是的,虽然可能,但最终功能非常有限……请注意,Java开发人员对Swing的使用非常坚决。准备好忍受很多火焰。想想SWT,是的,我做到了。这就是我理解它的方式。在一天结束时,WindowPeer使用WindowPeer调用本机API,因此如果OP想知道它是如何工作的,他可以检查提到的类的源代码。我想这样做,而不使用任何为创建窗口而预先编程的东西。我不理解没有预先编程的术语。在编写代码时,您总是使用某种第三方。即使是在内核模式下编程。显然,您可以使用JNI/JNA来调用本机API,但在这种情况下,您为什么需要java呢?我的意思是不使用专门用于创建窗口的东西。阅读我的完整评论。