public static void removePropertyChangeListener( PropertyChangeListener listener ) {
		if( changeSupport == null )
			return;
		changeSupport.removePropertyChangeListener( listener );
	}
This class handles scaling in Swing UIs.
It computes user scaling factor based on font size and
provides methods to scale integer, float, {@link Dimension} and {@link Insets}.
This class is look and feel independent.
<p>
Two scaling modes are supported by FlatLaf for HiDPI displays:

<h2>1) system scaling mode</h2>

This mode is supported since Java 9 on all platforms and in some Java 8 VMs
(e.g. Apple and JetBrains). The JRE determines the scale factor per-display and
adds a scaling transformation to the graphics object.
E.g. invokes {@code java.awt.Graphics2D.scale( 1.5, 1.5 )} for 150%.
So the JRE does the scaling itself.
E.g. when you draw a 10px line, a 15px line is drawn on screen.
The scale factor may be different for each connected display.
The scale factor may change for a window when moving the window from one display to another one.

<h2>2) user scaling mode</h2>

This mode is mainly for Java 8 compatibility, but is also used on Linux
or if the default font is changed.
The user scale factor is computed based on the used font.
The JRE does not scale anything.
So we have to invoke {@link #scale(float)} where necessary.
There is only one user scale factor for all displays.
The user scale factor may change if the active LaF, "defaultFont" or "Label.font" has changed.
If system scaling mode is available the user scale factor is usually 1,
but may be larger on Linux or if the default font is changed.

@author Karl Tauber
flatlaf-core/src/main/java/com/formdev/flatlaf/util/UIScale.java