Java 为什么我需要Swing实用程序以及如何使用它?

Java 为什么我需要Swing实用程序以及如何使用它?,java,swing,swingutilities,Java,Swing,Swingutilities,这主要是关于我的问题,但我不明白为什么需要它以及它的用途。我正在设计一个swing gui,我不想错过swing实用程序可能提供的任何东西。还有人可以解释一下,invokeLater方法的作用和工作原理。如中所述,SwingUtilities是Swing的实用方法集合。在这种情况下,需要确保在事件分派线程或EDT中创建/修改Swing组件。此外,如中所述,invokeLater在应用程序线程需要更新GUI时使用 你可能还想好好读一读。另外,a.检查这是否意味着每当我做一个pack(),或触摸我的

这主要是关于我的问题,但我不明白为什么需要它以及它的用途。我正在设计一个swing gui,我不想错过swing实用程序可能提供的任何东西。还有人可以解释一下,
invokeLater
方法的作用和工作原理。

如中所述,
SwingUtilities
是Swing的实用方法集合。在这种情况下,需要确保在事件分派线程或
EDT
中创建/修改Swing组件。此外,如中所述,
invokeLater
在应用程序线程需要更新GUI时使用


你可能还想好好读一读。另外,a.

检查这是否意味着每当我做一个pack(),或触摸我的框架时,它应该在一个新的Runnable()中?@Grammin,不一定。仅当您处于单独的线程(即EDT以外的线程)中时。Swing不是线程安全的,因此对Swing组件的所有更新都应该放在
EventQueue
上,而
SwingUtilities
使您能够轻松完成。在许多情况下,您可以更改事件侦听器中帧或组件的属性。所有事件侦听器代码都在EDT上运行,因此您不必担心这一点。如果您的应用程序创建了独立的线程,那么您需要担心这一点。