Container.validate()方法有什么作用?

时间:2009-10-22 15:08:14

标签: java swing awt

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

2 个答案:

答案 0 :(得分:8)

引用API doc

  

验证方法用于导致   容器布局其子组件   再次。应该在这时调用它   容器的子组件已修改   (添加到或删除   容器或与布局相关的   信息改变后)   容器已经显示。

答案 1 :(得分:3)

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

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