diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatArrowButton.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatArrowButton.java index 4b0e44f2..e5319a6d 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatArrowButton.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatArrowButton.java @@ -166,8 +166,7 @@ public class FlatArrowButton @Override public void paint( Graphics g ) { - Graphics2D g2 = (Graphics2D)g; - FlatUIUtils.setRenderingHints( g2 ); + Object[] oldRenderingHints = FlatUIUtils.setRenderingHints( g ); // paint hover or pressed background if( isEnabled() ) { @@ -179,7 +178,7 @@ public class FlatArrowButton if( background != null ) { g.setColor( deriveBackground( background ) ); - paintBackground( g2 ); + paintBackground( (Graphics2D) g ); } } @@ -191,7 +190,9 @@ public class FlatArrowButton ? hoverForeground : foreground)) : disabledForeground ) ); - paintArrow( g2 ); + paintArrow( (Graphics2D) g ); + + FlatUIUtils.resetRenderingHints( g, oldRenderingHints ); } protected void paintBackground( Graphics2D g ) { diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatScrollBarUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatScrollBarUI.java index 27760686..dfe86e99 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatScrollBarUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatScrollBarUI.java @@ -19,7 +19,6 @@ package com.formdev.flatlaf.ui; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; -import java.awt.Graphics2D; import java.awt.Insets; import java.awt.Rectangle; import java.awt.event.MouseAdapter; @@ -221,8 +220,9 @@ public class FlatScrollBarUI @Override public void paint( Graphics g, JComponent c ) { - FlatUIUtils.setRenderingHints( (Graphics2D) g ); + Object[] oldRenderingHints = FlatUIUtils.setRenderingHints( g ); super.paint( g, c ); + FlatUIUtils.resetRenderingHints( g, oldRenderingHints ); } @Override diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSpinnerUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSpinnerUI.java index 6fd6a0dd..0e548bc5 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSpinnerUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSpinnerUI.java @@ -264,7 +264,7 @@ public class FlatSpinnerUI FlatUIUtils.paintParentBackground( g, c ); Graphics2D g2 = (Graphics2D) g; - FlatUIUtils.setRenderingHints( g2 ); + Object[] oldRenderingHints = FlatUIUtils.setRenderingHints( g2 ); int width = c.getWidth(); int height = c.getHeight(); @@ -303,6 +303,8 @@ public class FlatSpinnerUI } paint( g, c ); + + FlatUIUtils.resetRenderingHints( g, oldRenderingHints ); } //---- class Handler ------------------------------------------------------ diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSplitPaneUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSplitPaneUI.java index c8e71c59..8103cda0 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSplitPaneUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSplitPaneUI.java @@ -20,7 +20,6 @@ import java.awt.Color; import java.awt.Container; import java.awt.Cursor; import java.awt.Graphics; -import java.awt.Graphics2D; import java.awt.Insets; import java.awt.event.MouseEvent; import java.beans.PropertyChangeEvent; @@ -148,10 +147,12 @@ public class FlatSplitPaneUI if( "plain".equals( style ) ) return; - FlatUIUtils.setRenderingHints( (Graphics2D) g ); + Object[] oldRenderingHints = FlatUIUtils.setRenderingHints( g ); g.setColor( gripColor ); paintGrip( g, 0, 0, getWidth(), getHeight() ); + + FlatUIUtils.resetRenderingHints( g, oldRenderingHints ); } protected void paintGrip( Graphics g, int x, int y, int width, int height ) { diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatToolBarSeparatorUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatToolBarSeparatorUI.java index 8d0fa657..d30eb30c 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatToolBarSeparatorUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatToolBarSeparatorUI.java @@ -106,13 +106,15 @@ public class FlatToolBarSeparatorUI float lineWidth = scale( 1f ); float offset = scale( 2f ); - FlatUIUtils.setRenderingHints( (Graphics2D) g ); + Object[] oldRenderingHints = FlatUIUtils.setRenderingHints( g ); g.setColor( separatorColor ); if( isVertical( c ) ) ((Graphics2D)g).fill( new Rectangle2D.Float( Math.round( (width - lineWidth) / 2f ), offset, lineWidth, height - (offset * 2) ) ); else ((Graphics2D)g).fill( new Rectangle2D.Float( offset, Math.round( (height - lineWidth) / 2f ), width - (offset * 2), lineWidth ) ); + + FlatUIUtils.resetRenderingHints( g, oldRenderingHints ); } private boolean isVertical( JComponent c ) { diff --git a/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/FlatInspector.java b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/FlatInspector.java index 6e9f4225..35f03d46 100644 --- a/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/FlatInspector.java +++ b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/FlatInspector.java @@ -24,7 +24,6 @@ import java.awt.Dimension; import java.awt.EventQueue; import java.awt.Font; import java.awt.Graphics; -import java.awt.Graphics2D; import java.awt.Insets; import java.awt.KeyboardFocusManager; import java.awt.LayoutManager; @@ -348,8 +347,9 @@ public class FlatInspector @Override protected void paintBorder( Graphics g ) { - FlatUIUtils.setRenderingHints( (Graphics2D) g ); + Object[] oldRenderingHints = FlatUIUtils.setRenderingHints( g ); super.paintBorder( g ); + FlatUIUtils.resetRenderingHints( g, oldRenderingHints ); } }; c.setBackground( new Color( 255, 0, 0, 32 ) ); diff --git a/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatDatePickerUI.java b/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatDatePickerUI.java index 27ada24a..105f78f6 100644 --- a/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatDatePickerUI.java +++ b/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatDatePickerUI.java @@ -218,7 +218,7 @@ public class FlatDatePickerUI FlatUIUtils.paintParentBackground( g, c ); Graphics2D g2 = (Graphics2D) g; - FlatUIUtils.setRenderingHints( g2 ); + Object[] oldRenderingHints = FlatUIUtils.setRenderingHints( g2 ); int width = c.getWidth(); int height = c.getHeight(); @@ -252,6 +252,8 @@ public class FlatDatePickerUI g2.fill( new Rectangle2D.Float( lx, focusWidth, lw, height - 1 - (focusWidth * 2) ) ); paint( g, c ); + + FlatUIUtils.resetRenderingHints( g2, oldRenderingHints ); } //---- class DefaultEditor ------------------------------------------------ diff --git a/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatTaskPaneUI.java b/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatTaskPaneUI.java index 5897438e..e71ac7ca 100644 --- a/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatTaskPaneUI.java +++ b/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatTaskPaneUI.java @@ -146,7 +146,7 @@ public class FlatTaskPaneUI if( color == null ) return; - FlatUIUtils.setRenderingHints( (Graphics2D) g ); + Object[] oldRenderingHints = FlatUIUtils.setRenderingHints( g ); g.setColor( color ); @@ -155,6 +155,8 @@ public class FlatTaskPaneUI path.append( new Rectangle2D.Float( x, y, width, height ), false ); path.append( new Rectangle2D.Float( x + lineWidth, y, width - (lineWidth * 2), height - lineWidth ), false ); ((Graphics2D)g).fill( path ); + + FlatUIUtils.resetRenderingHints( g, oldRenderingHints ); } @Override @@ -179,9 +181,11 @@ public class FlatTaskPaneUI { @Override public void paintBorder( Component c, Graphics g, int x, int y, int width, int height ) { - FlatUIUtils.setRenderingHints( (Graphics2D) g ); + Object[] oldRenderingHints = FlatUIUtils.setRenderingHints( g ); super.paintBorder( c, g, x, y, width, height ); + + FlatUIUtils.resetRenderingHints( g, oldRenderingHints ); } @Override diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPaintingStringTest.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPaintingStringTest.java index 155a65c3..d7fa7c3e 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPaintingStringTest.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPaintingStringTest.java @@ -180,7 +180,7 @@ public class FlatPaintingStringTest @Override protected void paintComponent( Graphics g ) { Graphics2D g2 = (Graphics2D) g; - FlatUIUtils.setRenderingHints( g2 ); + Object[] oldRenderingHints = FlatUIUtils.setRenderingHints( g2 ); // simulate component y position at a fraction if( scaleFactor > 1 && SystemInfo.isJava_9_orLater ) @@ -241,6 +241,8 @@ public class FlatPaintingStringTest double textY = t.getTranslateY() + (y * t.getScaleY()); setToolTipText( textY + " + " + yCorrection + " = " + (textY + yCorrection) ); } + + FlatUIUtils.resetRenderingHints( g2, oldRenderingHints ); } private int scale( int value ) { diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPaintingTest.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPaintingTest.java index 9c2b934f..ae9642b2 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPaintingTest.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPaintingTest.java @@ -471,7 +471,7 @@ public class FlatPaintingTest @Override protected void paintComponent( Graphics g ) { Graphics2D g2 = (Graphics2D) g; - FlatUIUtils.setRenderingHints( g2 ); + Object[] oldRenderingHints = FlatUIUtils.setRenderingHints( g2 ); g2.scale( scale, scale ); g2.translate( 1, 1 ); @@ -503,6 +503,8 @@ public class FlatPaintingTest g2d.setColor( Color.magenta ); g2d.drawRect( x2 - gap, y2 - gap, width2 + (gap * 2) - 1, height2 + (gap * 2) - 1 ); } ); + + FlatUIUtils.resetRenderingHints( g2, oldRenderingHints ); } } }