作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
这个问题可能看起来不是很技术,但是出于好奇,我想知道:
我编写的裸/原始 Swing 代码如何变成出色的图形应用程序?
例如:
比如当我们使 JFrame 可见时,或者当我们在其上放置 JButton 时。谁让它发生?操作系统或 Java 或 JVM。
谁让颜色出现?
幕后的过程是怎样的?
我问这个可能是因为这是我生命中第一次制作 RealWorld 图形应用程序,这些问题突然出现在我的脑海中!
提前致谢!
最佳答案
在 Swing 中,所有 GUI 组件都完全用 Java 编写,并使用 Java 呈现。例如,JButtons 将由 Java 而不是任何内部操作系统的东西绘制。因此,Swing 组件被称为“轻量级组件”,因为它们由 Java 而不是操作系统(或任何 native 小部件工具包)管理和呈现。
请注意,Java 也有一个名为 AWT 的工具包。 Swing 基于 AWT 的嵌套和继承方法,除了它使用操作系统创建 native 小部件。
所以在某些时候,Swing 将不得不在屏幕上创建一个窗口并在其上绘图。实际创建窗口的魔法由 AWT 处理。注意 JFrame
从 java.awt.Frame
延伸这意味着尽管 JFrame 可能主要由 Java 呈现,但它由重量级 native 操作系统窗口支持。
关于java - 一段Swing代码如何变成真正的图形应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11127563/
我是一名优秀的程序员,十分优秀!