public static boolean hasOpaqueBeenExplicitlySet( JComponent c ) {
		boolean oldOpaque = c.isOpaque();
		LookAndFeel.installProperty( c, "opaque", !oldOpaque );
		boolean explicitlySet = c.isOpaque() == oldOpaque;
		LookAndFeel.installProperty( c, "opaque", oldOpaque );
		return explicitlySet;
	}
Draws the given string at the specified location underlining the specified character.
The provided component is used to query text properties and anti-aliasing hints.
<p>
Replacement for {@code SwingUtilities2.drawStringUnderlineCharAt()}.
Uses {@link HiDPIUtils#drawStringUnderlineCharAtWithYCorrection(JComponent, Graphics2D, String, int, int, int)}.
flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatUIUtils.java