public static void setTransparent(JComponent c) {

		doSetTransparent(c);

		if (c instanceof JScrollPane) {
			doSetTransparent(((JScrollPane) c).getViewport());
		}
	}
Sets the given component to transparent, which allows the parent component's background
to be painted.
<p>
<u>Notes</u>
Historically, to make a component transparent you would call
{@link JComponent#setOpaque(boolean)} with a <code>false</code> value.  However, it turns out
that the definition and the implementation of this method are at odds.  <code>setOpaque(false)</code>
is meant to signal that some part of the component is transparent, so the parent component
needs to be painted.  Most LaFs implemented this by not painting the background of the
component, but used the parent's color instead.  The Nimbus LaF actually honors the
contract of <code>setOpaque()</code>, which has the effect of painting the components
background by default.
<p>
This method allows components to achieve transparency when they used to
rely on <code>setOpaque(false)</code>.

@param c the component to be made transparent
Ghidra/Framework/Docking/src/main/java/docking/DockingUtils.java