java – Swing GUI中validate(),revalidate()和invalidate()之间的区别

Swing组件有多种与更新屏幕布局相关的方法,特别是:

> validate()
> invalidate()
> revalidate()

Java文档从技术角度定义了这些,但并不是特别清楚它们是如何被使用的。

这些之间有什么区别,在什么情况下你应该使用一个而不是其他?

只是IMHO。不确定它是100%正确。

invalidate()将容器标记为无效。意味着内容是不正确的,必须转发出去。但它只是一种标记/标志。可能多个无效容器必须稍后刷新。

validate()执行relayout。这意味着要求所有大小的无效内容,并且所有子组件的大小由LayoutManager设置为正确的值。

revalidate()只是两者的和。它将容器标记为无效并执行容器的布局。

http://stackoverflow.com/questions/9510125/difference-between-validate-revalidate-and-invalidate-in-swing-gui

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:java – Swing GUI中validate(),revalidate()和invalidate()之间的区别