diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatRootPaneUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatRootPaneUI.java index fec59e04..9b60aa62 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatRootPaneUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatRootPaneUI.java @@ -59,7 +59,8 @@ import com.formdev.flatlaf.util.SystemInfo; * * @uiDefault RootPane.borderDragThickness int * @uiDefault RootPane.cornerDragWidth int - * @uiDefault RootPane.honorMinimumSizeOnResize boolean + * @uiDefault RootPane.honorFrameMinimumSizeOnResize boolean + * @uiDefault RootPane.honorDialogMinimumSizeOnResize boolean * * @author Karl Tauber */ diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatWindowResizer.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatWindowResizer.java index 3c1f569c..db86ddfe 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatWindowResizer.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatWindowResizer.java @@ -57,7 +57,8 @@ public class FlatWindowResizer protected final int borderDragThickness = FlatUIUtils.getUIInt( "RootPane.borderDragThickness", 5 ); protected final int cornerDragWidth = FlatUIUtils.getUIInt( "RootPane.cornerDragWidth", 16 ); - protected final boolean honorMinimumSizeOnResize = UIManager.getBoolean( "RootPane.honorMinimumSizeOnResize" ); + protected final boolean honorFrameMinimumSizeOnResize = UIManager.getBoolean( "RootPane.honorFrameMinimumSizeOnResize" ); + protected final boolean honorDialogMinimumSizeOnResize = UIManager.getBoolean( "RootPane.honorDialogMinimumSizeOnResize" ); protected Window window; @@ -293,6 +294,9 @@ debug*/ newBounds.height += deltaHeight; // apply minimum window size + boolean honorMinimumSizeOnResize = + (honorFrameMinimumSizeOnResize && window instanceof Frame) || + (honorDialogMinimumSizeOnResize && window instanceof Dialog); Dimension minimumSize = honorMinimumSizeOnResize ? window.getMinimumSize() : null; if( minimumSize == null ) minimumSize = UIScale.scale( new Dimension( 150, 50 ) ); diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties index 6f0e7139..0c7cafe1 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties @@ -430,7 +430,8 @@ RadioButtonMenuItem.background=@menuBackground RootPane.border=com.formdev.flatlaf.ui.FlatRootPaneUI$FlatWindowBorder RootPane.borderDragThickness=5 RootPane.cornerDragWidth=16 -RootPane.honorMinimumSizeOnResize=true +RootPane.honorFrameMinimumSizeOnResize=false +RootPane.honorDialogMinimumSizeOnResize=true #---- ScrollBar ---- diff --git a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt index e1e4b695..e8ee42ae 100644 --- a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt +++ b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt @@ -765,7 +765,8 @@ RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object; [5] press [6] ctrl released ENTER [7] release -RootPane.honorMinimumSizeOnResize true +RootPane.honorDialogMinimumSizeOnResize true +RootPane.honorFrameMinimumSizeOnResize false RootPane.inactiveBorderColor #484c4e com.formdev.flatlaf.util.DerivedColor [UI] darken(5% autoInverse) RootPaneUI com.formdev.flatlaf.ui.FlatRootPaneUI diff --git a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt index 1abdbc63..f0ab10cb 100644 --- a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt +++ b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt @@ -770,7 +770,8 @@ RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object; [5] press [6] ctrl released ENTER [7] release -RootPane.honorMinimumSizeOnResize true +RootPane.honorDialogMinimumSizeOnResize true +RootPane.honorFrameMinimumSizeOnResize false RootPane.inactiveBorderColor #a3a3a3 javax.swing.plaf.ColorUIResource [UI] RootPaneUI com.formdev.flatlaf.ui.FlatRootPaneUI