java- revalidate()方法是否必要?

huangapple go评论75阅读模式
英文:

java- Is revalidate() method necessary?

问题

一个快速的问题,

每次改变组件的位置时,有必要调用 revalidate() 方法吗?

还有哪些情况下需要调用 revalidate() 方法呢?

英文:

A quick question,

Is it necessary to call revalidate() method each time, you change the location of components?

And what are other instances, when it is necessary to call revalidate() method?

答案1

得分: 2

每次您创建、修改(位置、大小或内部内容)或移除一个或多个组件时,都会向布局管理器通知新的组件列表。

是的,一旦更改了位置,就需要调用 revalidate()。

英文:

Every time you create or modify (location, size or internal content) or remove a component or multiple components, it tells the layout manager the new component list.

Yes, once you change the location, it is necessary to call revalidate().

答案2

得分: 1

> 每次更改组件的位置时,有必要调用 revalidate() 方法吗?

不应该直接设置组件的位置,这是布局管理器的工作。

使用 revalidate() 的目的是调用布局管理器,以便根据布局管理器的规则确定组件的大小和位置。

因此,在向可见容器添加或移除组件之后,通常会调用 revalidate(),然后再调用 repaint()

英文:

> Is it necessary to call revalidate() method each time, you change the location of components?

You should not be setting the location of components. That is the job of the layout manager.

The point of using revalidate() IS to invoke the layout manager so the size/location of the components can be determined based on the rules of the layout manager.

So you invoke revalidate() and typically repaint() AFTER you add or remove components from a visible container.

huangapple
  • 本文由 发表于 2020年6月29日 10:40:39
  • 转载请务必保留本文链接:https://go.coder-hub.com/62630443.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定