static A setOpaqueBackground_recursive(Color color, A a) { setOpaqueBackground(color, a); if (a instanceof JPanel) { ((JPanel) a).setOpaque(false); for (Component c : getSwingChildren(a)) if (c cast JComponent) setOpaqueBackground_recursive(color, c); } ret a; }