Window decorations: no longer honor minimum size of frames on resizing window, but still do for dialogs

This commit is contained in:
Karl Tauber
2020-07-06 11:30:49 +02:00
parent cace4a9bfd
commit 7f911b61a2
5 changed files with 13 additions and 5 deletions

View File

@@ -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
*/

View File

@@ -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 ) );

View File

@@ -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 ----