java - 为什么 Frames 和 JFrames 默认设置为不可见?

标签 java swing

有谁知道 Java Frames 和 JFrames 默认设置为不可见的原因?

即你必须调用 myFrameObject.setVisible(true) 否则你最终会得到一个不可见的应用程序界面。

这一直困扰着我,因为在 C# 或 Objective-C 等其他语言中看不到这一点。我想知道它是为了节省时间,还是 Java 架构师今天过得很糟糕。

了解这一点将帮助我了解生命、宇宙和一切的最终答案。

最佳答案

我一直认为它是为了让您可以在显示窗口之前填充窗口。否则,您会看到一堆控件在添加时四处乱窜。今天的机器 + JIT 可能不是一个明显的问题,但在 Java 的早期,机器速度较慢,JVM 中的字节码解释器可能会有所不同。

它还模仿顶级窗口在 X11 中的工作方式:创建窗口,然后“映射”它(使其可见)。

关于java - 为什么 Frames 和 JFrames 默认设置为不可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4403454/

相关文章:

java - 获取在 try 方法中设置的 Java bean

java - Simba][SpannerJDBCDriver](100300) 来自服务器的错误消息 : INVALID_ARGUMENT: Positional parameters are not supported

java - 显式锁和条件变量 Java 生产者消费者

java - JPanel 不显示我的图形

java - 在 Swing 应用程序中保留键盘布局?

java - Java 中的 ActionPerformed 方法

java - 如何以编程方式取消 Java/Swing 中的拖放操作?

java - 使用字符串填充 ArrayDeques 导致 NullPointerException

java - URL 无法找到我的 Web 应用程序上下文 – Java Enterprise Beans - Wildfly

java - 为什么在我将组件添加到 JFrame 而不是将它们添加到 JPanel 后,所有这些组件都消失了?