/** * Called to change the visibility of the outline. * * @param value true if visible. */ public void setVisible(final boolean value) { if (value != isVisible()) { super.setVisible(value); Container parent = getParent(); if ((parent != null) && (parent.getComponentCount() == 1)) { parent.setVisible(value); } invalidate(); try { for (; parent != null; parent = parent.getParent()) { try { parent.getClass().getMethod("resetToPreferredSizes", null).invoke(parent, null); visibleArgs[0] = new Integer(value ? 10 : 0); parent.getClass().getMethod("setDividerSize", visibleParms).invoke(parent, visibleArgs); break; } catch (final Throwable ignored) { } } } catch (final Throwable ignored) { } djvuBean.recursiveRevalidate(); } }