【问题标题】:What does Container.validate() method do?Container.validate() 方法有什么作用?
【发布时间】:2009-10-22 15:08:13
【问题描述】:

Java awt Container 类中似乎有很多与validate 相关的方法。显然他们不做数据验证。在任何情况下它对 Swing 开发人员有用吗?一些方法: validate()、invalidate()、validateTree()、isValid() 等

【问题讨论】:

    标签: java swing awt


    【解决方案1】:

    引用API doc

    validate 方法用于导致 容器来布置其子组件 再次。应该在这个时候调用它 容器的子组件被修改 (添加到或从 容器,或布局相关 信息更改)后 容器已显示。

    【讨论】:

    • 您阅读了 RTRM! (虽然通常你会使用JComponent.revalidate。)
    【解决方案2】:

    Swing 上下文中的验证涉及在修改其中一个子组件后请求组件布置其子组件。

    例如,假设您实现了一个带有“显示过滤器”按钮的自定义 JDialog。单击此按钮后,您可能希望在 JDialog 的南部添加一个额外的“过滤器”面板。添加新子面板后,您需要在 JDialog 上调用 validate() 以使其正确布置新面板。

    【讨论】:

    • +1。有些人还将 validate() 称为护身符,以神奇地使事情正常运行……因此,如果您正在使用其他人的 GUI 代码,请注意不必要的调用。
    猜你喜欢
    • 2015-04-07
    • 2018-10-23
    • 2011-09-01
    • 2010-11-03
    • 2019-09-19
    • 2012-06-27
    • 2016-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多