diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatNativeWindowBorder.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatNativeWindowBorder.java index 4d4afab1..86bc8dc4 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatNativeWindowBorder.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatNativeWindowBorder.java @@ -125,6 +125,10 @@ public class FlatNativeWindowBorder // enable native window border for window setHasCustomDecoration( frame, true ); + // avoid double window title bar if enabling native window border failed + if( !hasCustomDecoration( frame ) ) + return; + // enable Swing window decoration rootPane.setWindowDecorationStyle( JRootPane.FRAME ); @@ -143,6 +147,10 @@ public class FlatNativeWindowBorder // enable native window border for window setHasCustomDecoration( dialog, true ); + // avoid double window title bar if enabling native window border failed + if( !hasCustomDecoration( dialog ) ) + return; + // enable Swing window decoration rootPane.setWindowDecorationStyle( JRootPane.PLAIN_DIALOG ); } diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatWindowsNativeWindowBorder.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatWindowsNativeWindowBorder.java index 4b909a05..87977450 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatWindowsNativeWindowBorder.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatWindowsNativeWindowBorder.java @@ -308,6 +308,8 @@ class FlatWindowsNativeWindowBorder this.window = window; hwnd = installImpl( window ); + if( hwnd == 0 ) + return; // remove the OS window title bar if( window instanceof JFrame && ((JFrame)window).getExtendedState() != 0 ) {