当前位置: 代码迷 >> java >> 需要帮助来了解使用JFrame类的setRootPaneCheckingEnabled()方法的原因
  详细解决方案

需要帮助来了解使用JFrame类的setRootPaneCheckingEnabled()方法的原因

热度:106   发布时间:2023-08-02 11:24:46.0

这更多是一个理论问题。 我正在阅读JFrame类的文档,它有一个名为setRootPaneCheckingEnabled()的方法,其目的似乎是控制将add()setLayout()调用转发到JFrame的内容窗格。 如果将true传递给此方法,则转发对add()setLayout()的调用,如果传递false,则这些调用直接在JFrame上进行。

我不知道为什么有人希望add()setLayout()调用直接在JFrame上而不是在内容窗格上进行操作的原因。 有人可以让我知道这些原因吗?

在Java 1.5之前的版本中,您需要编写frame.getContentPane().add(...)

看起来很简单,但经常做就很繁琐。

来吧1.5,他们增加了简单地使用frame.add(...)并将那些调用转发到contentPane

看起来似乎不多,但实际上,它可能是最受质疑和要求的Swing功能之一。

这对于新的编码人员来说也是一个很大的挫败感,他们不了解JFrame实际上是一个复合组件,并且会浪费很多时间来试图弄清为什么什么都不起作用。

而且,在过去,要获得像样的IDE并具有自动完成功能实际上是一件困难的事情,所以,是的,长手打字会给您的手腕带来完全的痛苦。