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

Cep*_*phi 1 java swing

有没有人知道Java Frames和JFrames的合理性默认设置为不可见?

即你必须调用myFrameObject.setVisible(true)或最终得到一个不可见的应用程序接口.

这一直困扰着我,因为你没有在C#或Objective-C等其他语言中看到这一点.我想知道它是否打算节省时间,或者Java架构师是否只是度过了糟糕的一天.

知道这一点将有助于我理解生命,宇宙和一切的最终答案.

Lau*_*ves 6

我总是认为它是这样你可以在显示它之前填充窗口.否则你可以看到一堆控件在添加时随机播放.今天的机器+ JIT可能不是一个值得注意的问题,但在早期的Java中,JVM中的机器和字节码解释器速度较慢,它可能会产生重大影响.

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