diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/SwingInteropContainer.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/SwingInteropContainer.desktop.kt index 4c7ee026b18e8..cb6ab5922c437 100644 --- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/SwingInteropContainer.desktop.kt +++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/awt/SwingInteropContainer.desktop.kt @@ -75,7 +75,7 @@ internal class SwingInteropContainer( index + nonInteropComponents }) - // Sometimes Swing displays the rest of interop views in incorrect order after removing, + // Sometimes Swing displays the rest of interop views in incorrect order after adding, // so we need to force re-validate it. container.validate() container.repaint() diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/scene/ComposeContainer.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/scene/ComposeContainer.desktop.kt index 1afd4e95c740a..a2bae6553ca9d 100644 --- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/scene/ComposeContainer.desktop.kt +++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/scene/ComposeContainer.desktop.kt @@ -146,8 +146,15 @@ internal class ComposeContainer( layers.fastForEach(DesktopComposeSceneLayer::close) } - override fun componentResized(e: ComponentEvent?) = onChangeWindowPosition() - override fun componentMoved(e: ComponentEvent?) = onChangeWindowSize() + override fun componentResized(e: ComponentEvent?) { + onChangeWindowSize() + + // Sometimes Swing displays interop views in incorrect order after resizing, + // so we need to force re-validate it. + container.validate() + container.repaint() + } + override fun componentMoved(e: ComponentEvent?) = onChangeWindowPosition() override fun componentShown(e: ComponentEvent?) = Unit override fun componentHidden(e: ComponentEvent?) = Unit