From d84ecd3bea834df083f6cdd4229f43434ae4860c Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Tue, 20 Aug 2019 18:35:56 +0200 Subject: [PATCH] Button: do not paint border and background if contentAreaFilled == false --- .../main/java/com/formdev/flatlaf/ui/FlatButtonBorder.java | 3 +++ .../src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonBorder.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonBorder.java index 8c6d4ff2..5bfa0044 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonBorder.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonBorder.java @@ -37,6 +37,9 @@ public class FlatButtonBorder { @Override public void paintBorder( Component c, Graphics g, int x, int y, int width, int height ) { + if( !FlatButtonUI.isContentAreaFilled( c ) ) + return; + Graphics2D g2 = (Graphics2D) g.create(); try { FlatUIUtils.setRenderingHints( g2 ); diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java index 60e67a57..856f644b 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java @@ -47,13 +47,17 @@ public class FlatButtonUI return instance; } + static boolean isContentAreaFilled( Component c ) { + return c instanceof AbstractButton && ((AbstractButton)c).isContentAreaFilled(); + } + static boolean isDefaultButton( Component c ) { return c instanceof JButton && ((JButton)c).isDefaultButton(); } @Override public void update( Graphics g, JComponent c ) { - if( c.isOpaque() ) { + if( c.isOpaque() && FlatButtonUI.isContentAreaFilled( c ) ) { FlatUIUtils.paintParentBackground( g, c ); if( c.isEnabled() ) {