对应于C#Control.SuspendLayout/ResumeLayout的swing方法

对应于C#Control.SuspendLayout/ResumeLayout的swing方法,c#,java,swing,layout,C#,Java,Swing,Layout,在多年使用C#之后,我最近开始使用swing,我想知道:在swing中,是否有相应的方法来控制。ResumeLayout/SuspendLayout 我之所以这样问是因为我正试图修复公司使用的旧UI,我想在完成所有逻辑工作后,在对组件(特别是JTable)进行操作时暂停所有绘图,然后我才想让控件(或者在本例中是JComponents)自行绘图 组件包含在JFrame中。不幸的是,在这个阶段重构代码并不是一个真正的选项,所以任何帮助都是非常受欢迎的 谢谢如果您使用eventdispatch线程(对

在多年使用C#之后,我最近开始使用swing,我想知道:在swing中,是否有相应的方法来控制。ResumeLayout/SuspendLayout

我之所以这样问是因为我正试图修复公司使用的旧UI,我想在完成所有逻辑工作后,在对组件(特别是JTable)进行操作时暂停所有绘图,然后我才想让控件(或者在本例中是JComponents)自行绘图

组件包含在JFrame中。不幸的是,在这个阶段重构代码并不是一个真正的选项,所以任何帮助都是非常受欢迎的


谢谢

如果您使用eventdispatch线程(对于长时间操作来说这不是一个好主意,因为它会锁定您的GUI),这将阻止重新绘制。我不明白为什么您会想要这个,当您可以在填充新的JTable时将旧的JTable安装起来。一旦创建了JTable,您就可以将其添加到事件调度线程上,这将导致重新绘制。

SuspendLayout
resumeloayout
不要挂起并继续在中绘制。在调用resumeloayout之前,NETSuspendLayout将挂起布局逻辑。因此,如果由于例如enabled设置为false而通常发生绘图,则不会发生。所以基本上它确实暂停了绘画,但我认为这是一个例子,比如说土豆,我说波塔托诺;它只是不暂停绘图。它确实会挂起布局事件,这可能会导致绘图发生的频率降低,但挂起绘图完全没有任何作用。我必须处理现有的JTable,正如我所说的,重构目前不是一个选项。但我找到了一个方法来做这一切。我在一个单独的线程上完成这项工作,并称之为SwingUtilities。调用器