mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2025-12-07 14:30:56 +03:00
Window decorations: hide window border if window is maximized
This commit is contained in:
@@ -4,8 +4,8 @@ FlatLaf Change Log
|
|||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
- Hide focus indicator when window is inactive.
|
- Hide focus indicator when window is inactive.
|
||||||
- Improved/fixed window border color in dark themes in custom window
|
- Custom window decorations: Improved/fixed window border color in dark themes.
|
||||||
decorations.
|
- Custom window decorations: Hide window border if window is maximized.
|
||||||
|
|
||||||
|
|
||||||
## 0.37
|
## 0.37
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import java.awt.Color;
|
|||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
import java.awt.Container;
|
import java.awt.Container;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
|
import java.awt.Frame;
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
import java.awt.Insets;
|
import java.awt.Insets;
|
||||||
@@ -334,8 +335,21 @@ public class FlatRootPaneUI
|
|||||||
super( 1, 1, 1, 1 );
|
super( 1, 1, 1, 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Insets getBorderInsets( Component c, Insets insets ) {
|
||||||
|
if( isWindowMaximized( c ) ) {
|
||||||
|
// hide border if window is maximized
|
||||||
|
insets.top = insets.left = insets.bottom = insets.right = 0;
|
||||||
|
return insets;
|
||||||
|
} else
|
||||||
|
return super.getBorderInsets( c, insets );
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void paintBorder( Component c, Graphics g, int x, int y, int width, int height ) {
|
public void paintBorder( Component c, Graphics g, int x, int y, int width, int height ) {
|
||||||
|
if( isWindowMaximized( c ) )
|
||||||
|
return;
|
||||||
|
|
||||||
Container parent = c.getParent();
|
Container parent = c.getParent();
|
||||||
boolean active = parent instanceof Window ? ((Window)parent).isActive() : false;
|
boolean active = parent instanceof Window ? ((Window)parent).isActive() : false;
|
||||||
|
|
||||||
@@ -346,5 +360,12 @@ public class FlatRootPaneUI
|
|||||||
private void paintImpl( Graphics2D g, int x, int y, int width, int height, double scaleFactor ) {
|
private void paintImpl( Graphics2D g, int x, int y, int width, int height, double scaleFactor ) {
|
||||||
g.drawRect( x, y, width - 1, height - 1 );
|
g.drawRect( x, y, width - 1, height - 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected boolean isWindowMaximized( Component c ) {
|
||||||
|
Container parent = c.getParent();
|
||||||
|
return parent instanceof Frame
|
||||||
|
? (((Frame)parent).getExtendedState() & Frame.MAXIMIZED_BOTH) != 0
|
||||||
|
: false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user